机器学习 | 回归评估指标
文章目錄
- 1. 回歸評估指標
- 1.1 平均絕對誤差 MAE
- 1.1.1 Sklearn 計算 MAE
- 1.2 均方誤差 MSE
- 1.2.1 Sklearn 計算 MSE
- 1.3 判定系數 R^2
- 1.3.1 Sklearn 計算 R^2
- 參考資料
相關文章:
機器學習 | 目錄
機器學習 | 分類評估指標
1. 回歸評估指標
1.1 平均絕對誤差 MAE
MAE:(Mean Absolute Error)平均絕對誤差,從圖形上看,MAE 就相當于將數據點與擬合之間之間的距離絕對值之和。
(1)MAE=1m∑i=1m∣y(i)?y^(i)∣MAE=\frac{1}{m}\sum_{i=1}^m|y^{(i)}-\hat{y}^{(i)}| \tag{1}MAE=m1?i=1∑m?∣y(i)?y^?(i)∣(1)
MAE 缺點 :絕對值函數是不可微分的,這不利于使用諸如梯度下降方法,因此我們將使用更常見的 MSE 均方誤差。
1.1.1 Sklearn 計算 MAE
from sklearn.metrics import mean_absolute_error from sklearn.linear_model import LinearRegressionclassifier = LinerRegression() classifier.fit(X, y)guesses = classifier.predict(X)error = mean_absolute_error(y, guesses)1.2 均方誤差 MSE
MSE:(Mean Squared Error)均方誤差,從圖形上看,為數據點到擬合直線之間的距離的平方。
(2)MSE=1m∑i=1m(y(i)?y^(i))2MSE=\frac{1}{m}\sum_{i=1}^m(y^{(i)}-\hat{y}^{(i)})^2 \tag{2}MSE=m1?i=1∑m?(y(i)?y^?(i))2(2)
MSE 和 MAE 有局限性:同一個算法模型,解決不同的問題,不能體現此模型針對不同問題所表現的優劣。因為不同實際應用中,數據的量綱不同,無法直接比較預測值,因此無法判斷模型更適合預測哪個問題,因此我們將使用衡量線性回歸最好的指標:R2R^2R2。[1]
1.2.1 Sklearn 計算 MSE
from sklearn.metrics import mean_squared_error from sklearn.linear_model import LinearRegressionclassifier = LinerRegression() classifier.fit(X, y)guesses = classifier.predict(X)error = mean_squared_error(y, guesses)1.3 判定系數 R^2
為了擬合一組數據,最簡單的方法就是取這組數據的均值并作直線,已知這個簡單模型的 MSE 大于線性回歸的 MSE ,然而大多少呢?因此類似于假設檢驗的檢驗統計量,我們將線性回顧的 MSE 除以簡單模型的 MSE,用1減去這個分數,就得到了R2R^2R2 :
(3)R2=1?∑i=1m(y^(i)?y(i))2∑i=1m(yˉ?y(i))2R^2=1-\frac{\sum_{i=1}^m(\hat{y}^{(i)}-y^{(i)})^2}{\sum_{i=1}^m(\bar{y}-y^{(i)})^2} \tag{3}R2=1?∑i=1m?(yˉ??y(i))2∑i=1m?(y^?(i)?y(i))2?(3)
(4)=1?(∑i=1m(y^(i)?y(i))2)/m(∑i=1m(yi?yˉ)2)/m\quad\quad\quad=1-\frac{(\sum_{i=1}^m(\hat{y}^{(i)}-y^{(i)})^2)/m}{(\sum_{i=1}^m(y^{i}-\bar{y})^2)/m} \tag{4}=1?(∑i=1m?(yi?yˉ?)2)/m(∑i=1m?(y^?(i)?y(i))2)/m?(4)
(5)=1?MSE(y^,y)Var(y)=1-\frac{MSE(\hat{y}, y)}{Var(y)} \tag{5}=1?Var(y)MSE(y^?,y)?(5)
- R2∈[?∞,1]R^2\in [-\infty,1]R2∈[?∞,1]
如果這個回歸模型不太好,則兩個 MSE 將很接近,則R2R^2R2將趨于0;
如果這個回歸模型很好,則回歸模型的 MSE 應比簡單模型的 MSE 小得多,因此R2R^2R2將趨于1
若R2≤0R^2 \le 0R2≤0,則說明這個回歸模型還不如簡單模型(很可能數據不存在線性關系)。
因此,R2R^2R2越接近于1,則說明回歸模型越好;R2R^2R2越接近于0,則說明回歸模型越不好。
1.3.1 Sklearn 計算 R^2
from sklearn.metrics import r2_scorey_true = [1, 2, 4] y_pred = [1.3, 2.5, 3.7]r2_score(y_true, y_pred) 0.9078571428571429參考資料
[1] Volcano!.機器學習:衡量線性回歸法的指標(MSE、RMSE、MAE、R Squared)[EB/OL].https://www.cnblogs.com/volcao/p/9104183.html, 2018-05-29.
總結
以上是生活随笔為你收集整理的机器学习 | 回归评估指标的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: linux服务器运行matlab文件报错
- 下一篇: 直接写和放在函数中不同的R语言用法