1. 程式人生 > >迴歸評價指標:MSE、RMSE、MAE、R2、Adjusted R2

迴歸評價指標:MSE、RMSE、MAE、R2、Adjusted R2

我們通常採用MSE、RMSE、MAE、R2來評價迴歸預測演算法。

1、均方誤差:MSE(Mean Squared Error)

其中,為測試集上真實值-預測值。

2、均方根誤差:RMSE(Root Mean Squard Error)

可以看出,RMSE=sqrt(MSE)。

3、平均絕對誤差:MAE(Mean Absolute Error)

以上各指標,根據不同業務,會有不同的值大小,不具有可讀性,因此還可以使用以下方式進行評測。

4、決定係數:R2(R-Square)

其中,分子部分表示真實值與預測值的平方差之和,類似於均方差 MSE;分母部分表示真實值與均值的平方差之和,類似於方差 Var。

根據 R-Squared 的取值,來判斷模型的好壞,其取值範圍為[0,1]:

如果結果是 0,說明模型擬合效果很差;

如果結果是 1,說明模型無錯誤。

一般來說,R-Squared 越大,表示模型擬合效果越好。R-Squared 反映的是大概有多準,因為,隨著樣本數量的增加,R-Square必然增加,無法真正定量說明準確程度,只能大概定量。

5、校正決定係數(Adjusted R-Square)

其中,n 是樣本數量,p 是特徵數量。

Adjusted R-Square 抵消樣本數量對 R-Square的影響,做到了真正的 0~1,越大越好。

python中可以直接呼叫

from sklearn.metrics import mean_squared_error #均方誤差
from sklearn.metrics import mean_absolute_error #平方絕對誤差
from sklearn.metrics import r2_score#R square
#呼叫
MSE:mean_squared_error(y_test,y_predict)
RMSE:np.sqrt(mean_squared_error(y_test,y_predict))
MAE:mean_absolute_error(y_test,y_predict)
R2:r2_score(y_test,y_predict)
Adjusted_R2::1-((1-r2_score(y_test,y_predict))*(n-1))/(n-p-1)