转自博客。仅供自己学习使用,如有侵权,请联系删除
分类任务的评价指标有准确率,P值,R值,F1值,而回归任务的评价指标就是MSE
,RMSE
,MAE
、R-Squared
MSE
均方误差MSE是真实值与预测值的差值的平方和然后求平均。通过平方的形式便于求导,所以常被用作线性回归的损失函数。
MSE=1m∑i=1m(yi−y^i)2MSE=\frac{1}{m} \sum_{i=1}^{m}\left(y_{i}-\hat{y}_{i}\right)^{2}MSE=m1i=1∑m(yi−y^i)2
RMSE
均方根误差RMSE,即均方误差开平方,常用来作为机器学习模型预测结果衡量的标准。
RMSE=1m∑i=1m(yi−y^i)2RMSE=\sqrt{\frac{1}{m} \sum_{i=1}^{m}\left(y_{i}-\hat{y}_{i}\right)^{2}}RMSE=m1i=1∑m(yi−y^i)2
MAE
MAE是绝对误差的平均值。可以更好地反映预测值误差的实际情况。
MAE=1m∑i=1m∣yi−y^i∣MAE=\frac{1}{m} \sum_{i=1}^{m}\left|y_{i}-\hat{y}_{i}\right|MAE=m1i=1∑m∣yi−y^i∣
R-Squared
R-Squared
又叫可决系数(coefficient of determination),也叫拟合优度,反映的是自变量xxx对因变量yyy的变动的解释的程度。越接近于1,说明模型拟合得越好。在sklearn中回归树就是用的该评价指标。
可以这么理解:将TSS理解为全部按平均值预测,RSS理解为按模型预测,这就相当于去比较你模型预测和全部按平均值预测的比例,这个比例越小,则模型越精确。当然该指标存在负数的情况,即模型预测还不如全部按平均值预测
缺点:当数据分布方差比较大时,预测不准时,R2R^2R2依然比较大,此时该评价指标就不太好
R2(y,y^)=1−∑i=0m(yi−y^i)2∑i=0m(yi−yˉ)2=ESSTSS=1−RSSTSSR^{2}(y, \hat{y})=1-\frac{\sum_{i=0}^{m}\left(y_{i}-\hat{y}_{i}\right)^{2}}{\sum_{i=0}^{m}\left(y_{i}-\bar{y}\right)^{2}}=\frac{ESS}{TSS}=1-\frac{RSS}{TSS}R2(y,y^)=1−∑i=0m(yi−yˉ)2∑i=0m(yi−y^i)2=TSSESS=1−TSSRSS
其中:
TSS(TotalSumofSquares)=∑i=0m(yi−yˉ)2TSS(Total Sum of Squares)=\sum_{i=0}^{m}\left(y_{i}-\bar{y}\right)^{2}TSS(TotalSumofSquares)=∑i=0m(yi−yˉ)2
表述真实值yyy的变动程度,正比于方差
RSS(ResidualSumofSquares)=∑i=0m(yi−y^i)2RSS(Residual Sum of Squares)=\sum_{i=0}^{m}\left(y_{i}-\hat{y}_{i}\right)^{2}RSS(ResidualSumofSquares)=∑i=0m(yi−y^i)2
表示模型预测y^\hat{y}y^和真实值yyy之间的残差
ESS(ExplainedSumofSquares)=∑i=0m(y^i−yˉ)2ESS(Explained Sum of Squares)=\sum_{i=0}^{m}\left(\hat{y}_{i}-\bar{y}\right)^{2}ESS(ExplainedSumofSquares)=∑i=0m(y^i−yˉ)2
使用sklearn计算:
from sklearn.metrics import r2_scorey_true = [3, -0.5, 2, 7]y_pred = [2.5, 0.0, 2, 8]r2_score(y_true, y_pred)0.948...
MAPE
MAE=1m∑i=1m∣y^i−yi∣MAE=\frac{1}{m} \sum_{i=1}^{m}\left|\hat{y}_{i}-y_{i}\right| MAE=m1i=1∑m∣y^i−yi∣
MAPE=100%m∑i=1m∣y^i−yiyi∣MAPE=\frac{100 \%}{m} \sum_{i=1}^{m}\left|\frac{\hat{y}_{i}-y_{i}}{y_{i}}\right| MAPE=m100%i=1∑m∣∣∣∣yiy^i−yi∣∣∣∣
MAE:
范围 [0,+∞)[0,+\infty)[0,+∞), 当预测值与真实值完全吻合时等于0, 即完美模型; 误差越大, 该值越大。
MAPE:
范围[0,+∞\infty∞), MAPE 为0%表示完美模型, MAPE大于100%则表示劣质模型。MAPE的值越小,说明预测模型拥有更好的精确度.