回歸指標 - MSE均方誤差、RMSE均方根誤差、MAE平均絕對誤差、R²判別系數


1.MSE - 均方誤差

\[MSE = \displaystyle\frac{1}{m}\sum_{i=1}^{m}(y_i - \hat{y_i})^2 \]

MSE是用 真實值 - 預測值 然后平方后求和平均,常用線性回歸的損失函數

在線性回歸時我們希望損失函數最小,從而判斷測試集的損失值有多少。

# 數學公式計算
MSE = np.sum((y_pred-y_test)**2)/len(y_test)
# scikit-learn對應的指標
from sklearn.metrics import mean_squared_error
from sklearn.linear_model import LinearRegression
reg = LinearRegression().fit(X_train,y_train)
y_pred = reg.predict(X_test)
# 調用mean_squared_error
MSE = mean_squared_error(y_test,y_pred)

2.RMSE - 均方根誤差

\[RMSE = \sqrt{\displaystyle\frac{1}{m}\sum_{i=1}^{m}(y_i - \hat{y_i})^2} \]

RMSE在MSE基礎上開根號,更好的描述真實值和預測值的數據

常用於衡量模型預測結果的標准

# 接着上面的例子MSE開根號計算得到RMSE
RMSE = MSE ** 0.5

3.MAE - 平均絕對誤差

\[MAE = \displaystyle\frac{1}{m}\sum_{i=1}^{m}|(y_i - \hat{y_i})| \]

平均誤差的絕對值

常用來反映預測值誤差的實際情況(風險度)

# 數學公式計算	
MAE = np.sum(np.absolute(y_pred-y_test))/len(y_test)
# scikit-learn對應的指標 
from sklearn.metrics import mean_absolute_error
# 調用mean_absolute_error
MAE = mean_absolute_error(y_test, y_pred)

4.R² - 判別系數

\[R^2 = 1 - \frac{SS_{residual}}{SS_{total}}=\frac{\sum_{i}(y_i - f_i)^2}{\sum_{i}(y_i - \bar{y})^2},其中\bar{y}是觀數據的平均值:\bar{y} = \frac{1}{n}\sum_{i=1}^{n}y_i \]

其中f是擬合(或建模)值,y是真實值,SSR(Sum of squares of the regression)是殘差平方和,由預測數據與標簽均值之間差值的平方和構,SST(Total sum of squares)是實際值和均值之間的差值的平方和

判定系數R²測量了回歸直線對預測數據擬合的程度,即:

1 - 模型沒有捕獲到的信息量占真實標簽重所帶的信息量的比例,所以,兩者越接近1越好

調整R²考慮添加更多預測變量(特征)來改善模型

# 3種調用方式
# 方式1:從sklearn.metrics導入r2_score
from sklearn.metrics import r2_score
# 調用r2_score
r2 = r2_score(y_test, y_pred)
# 方式2:使用線性回歸LinearRegression的score方法
reg = LinearRegression().fit(X_train,y_train)
# 調用score
r2 = reg.score(X_test,y_test)
# 方式3:從sklearn.metrics導入r2_score
from sklearn.metrics import explained_variance_score
r2 = explained_variance_score(y_test, y_pred)

5.在哪里使用哪個指標來確定機器學習模型的性能?

  • MAE:通常用於在連續變量數據上測量性能。它對異常值不是很敏感,因為它不會懲罰錯誤。

  • MSE:最常用的指標之一,當數據集包含大量噪聲時,它最沒用。但當數據集包含異常值(太高或太低)時,它最有用。

  • RMSE:在RMSE中,誤差在平均之前先平方,這意味着RMSE為更大的錯誤分配更高的權重。這表明當存在大錯誤並且它們會極大地影響模型的性能時,RMSE更有用。RMSE比MSE更廣泛用於評估回歸模型於其他隨機模型的性能,因為它的因變量(Y軸)具有相同的單位。

  • R²: R2評估性能最容易讓人一目了然地了解你的模型的性能。

總體來說,MAE、MSE 和 RMSE 的值越低,意味着回歸模型的准確度越高。然而,R 平方值越高被認可越高。

相關參考:

回歸指標

https://www.jianshu.com/p/9ee85fdad150

https://www.cnblogs.com/nxf-rabbit75/p/10415812.html

https://medium.com/analytics-vidhya/mae-mse-rmse-coefficient-of-determination-adjusted-r-squared-which-metric-is-better-cd0326a5697e

https://www.studytonight.com/post/what-is-mean-squared-error-mean-absolute-error-root-mean-squared-error-and-r-squared

https://towardsdatascience.com/which-evaluation-metric-should-you-use-in-machine-learning-regression-problems-20cdaef258e

https://en.wikipedia.org/wiki/Coefficient_of_determination


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM