转自博客。仅供自己学习使用,如有侵权,请联系删除
分类任务的评价指标有准确率,P值,R值,F1值,而回归任务的评价指标就是MSE
,RMSE
,MAE
、R-Squared
MSE
均方误差MSE是真实值与预测值的差值的平方和然后求平均。通过平方的形式便于求导,所以常被用作线性回归的损失函数。
M S E = 1 m ∑ i = 1 m ( y i − y ^ i ) 2 MSE=\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,即均方误差开平方,常用来作为机器学习模型预测结果衡量的标准。
R M S E = 1 m ∑ i = 1 m ( y i − y ^ i ) 2 RMSE=\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是绝对误差的平均值。可以更好地反映预测值误差的实际情况。
M A E = 1 m ∑ i = 1 m ∣ y i − 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),也叫拟合优度,反映的是自变量
x
x
x对因变量
y
y
y的变动的解释的程度。越接近于1,说明模型拟合得越好。在sklearn中回归树就是用的该评价指标。
可以这么理解:将TSS理解为全部按平均值预测,RSS理解为按模型预测,这就相当于去比较你模型预测和全部按平均值预测的比例,这个比例越小,则模型越精确。当然该指标存在负数的情况,即模型预测还不如全部按平均值预测
缺点:当数据分布方差比较大时,预测不准时, R 2 R^2 R2依然比较大,此时该评价指标就不太好
R 2 ( y , y ^ ) = 1 − ∑ i = 0 m ( y i − y ^ i ) 2 ∑ i = 0 m ( y i − y ˉ ) 2 = E S S T S S = 1 − R S S T S S R^{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
其中:
T S S ( T o t a l S u m o f S q u a r e s ) = ∑ i = 0 m ( y i − y ˉ ) 2 TSS(Total Sum of Squares)=\sum_{i=0}^{m}\left(y_{i}-\bar{y}\right)^{2} TSS(TotalSumofSquares)=∑i=0m(yi−yˉ)2
表述真实值 y y y的变动程度,正比于方差
R S S ( R e s i d u a l S u m o f S q u a r e s ) = ∑ i = 0 m ( y i − y ^ i ) 2 RSS(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^和真实值 y y y之间的残差
E S S ( E x p l a i n e d S u m o f S q u a r e s ) = ∑ i = 0 m ( y ^ i − y ˉ ) 2 ESS(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_score
y_true = [3, -0.5, 2, 7]
y_pred = [2.5, 0.0, 2, 8]
r2_score(y_true, y_pred)
0.948...
MAPE
M A E = 1 m ∑ i = 1 m ∣ y ^ i − y i ∣ MAE=\frac{1}{m} \sum_{i=1}^{m}\left|\hat{y}_{i}-y_{i}\right| MAE=m1i=1∑m∣y^i−yi∣
M A P E = 100 % m ∑ i = 1 m ∣ y ^ i − y i y i ∣ 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的值越小,说明预测模型拥有更好的精确度.