簡書 原作者 skullfang https://www.jianshu.com/p/9ee85fdad150
https://blog.csdn.net/zrh_CSDN/article/details/81190001
分類問題的評價指標是准確率,那么回歸算法的評價指標就是MSE,RMSE,MAE、R-Squared
1.均方誤差(MSE)
MSE (Mean Squared Error)叫做均方誤差。看公式
這里的兩個y分別是 真實值 和 測試集 上的 預測值 。
用 真實值-預測值 然后 平方 之后 求和 平均。
就是線性回歸的損失函數!! 在線性回歸的時候我們的目的就是讓這個損失函數最小。那么模型做出來了,我們把損失函數丟到測試集上去看看損失值不就好了嘛。
2.均方根誤差(RMSE)
RMSE(Root Mean Squard Error)均方根誤差。
就是MSE開個根號么。實質是一樣的。只不過用於數據更好的描述。
例如:要做房價預測,每平方是萬元,我們預測結果也是萬元。那么差值的平方單位應該是 千萬級別的。不利於描述。開完根號 就是一個數量級別的了。
MAE(平均絕對誤差)
R Squared
上式中,分子部分表示真實值與預測值的平方差之和,類似於均方差 MSE;分母部分表示真實值與均值的平方差之和,類似於方差 Var。根據 R-Squared 的取值,來判斷模型的好壞:如果結果是 0,說明模型擬合效果很差;如果結果是 1,說明模型無錯誤。一般來說,R-Squared 越大,表示模型擬合效果越好。R-Squared 反映的是大概有多准,因為,隨着樣本數量的增加,R-Square必然增加,無法真正定量說明准確程度,只能大概定量。
某些情況下,單獨看 R-Squared,並不能推斷出增加的特征是否有意義。通常來說,增加一個特征,R-Squared 可能變大也可能保持不變,兩者不一定呈正相關。
如果使用校正決定系數(Adjusted R-Square):
其中,n 是樣本數量,p 是特征數量。Adjusted R-Square 抵消樣本數量對 R-Square的影響,做到了真正的 0~1,越大越好。
各種評價指標 scikit-learn中的寫法
from sklearn.metrics import mean_squared_error #均方誤差
from sklearn.metrics import mean_absolute_error #平方絕對誤差
from sklearn.metrics import r2_score#R square
#調用
mean_squared_error(y_test,y_predict)
mean_absolute_error(y_test,y_predict)
r2_score(y_test,y_predict)