均方根误差有没有单位_Python误差评判:MAE、MSE、RSquare、MAPE和RMSE
MAE、MSE、R-Square、MAPE和RMSE
以上是對于預測問題的評價指標。
1.平均絕對誤差(Mean Absolute Error, MAE)
誤差越大,該值越大。
2.均方誤差(Mean Squared Error, MSE)
誤差越大,該值越大。
SSE(和方差)與MSE之間差一個系數(shù)n,即SSE = n * MSE,二者效果相同。
3.均方根誤差(Root Mean Square Error, RMSE)
是MSE的算數(shù)平均根
誤差越大,該值越大。
4.平均絕對百分比誤差(Mean Absolute Percentage Error, MAPE)
注意:當真實值有數(shù)據(jù)等于0時,存在分母0除問題,該公式不可用。
5.確定系數(shù)(R-Square or R2)
首先,殘差平方和為:
總平均值為:
得到R2表達式為:
R2用于度量因變量的變異中可由自變量解釋部分所占的比例,取值范圍是 0~1,R2越接近1,表明回歸平方和占總平方和的比例越大,回歸線與各觀測點越接近,用x的變化來解釋y值變化的部分就越多,回歸的擬合程度就越好。
所以R2也稱為擬合優(yōu)度(Goodness of Fit)的統(tǒng)計量。
yi表示真實值,y^i表示預測值,yˉi表示樣本均值。得分越高擬合效果越好。
OK,上例子。
import numpy as npfrom?sklearn?import?metrics#?MAPE實現(xiàn)def mape(y_true, y_pred): return np.mean(np.abs((y_pred - y_true) / y_true))y_true = np.array([1.0, 5.0, 4.0, 3.0, 2.0, 5.0, -3.0])y_pred = np.array([1.0, 4.5, 3.8, 3.2, 3.0, 4.8, -2.2])# MSEprint('MSE:',metrics.mean_squared_error(y_true, y_pred)) # 0.2871428571428571# RMSEprint('RMSE:',np.sqrt(metrics.mean_squared_error(y_true, y_pred))) # 0.5358571238146014# MAEprint('MAE:',metrics.mean_absolute_error(y_true, y_pred)) # 0.4142857142857143# MAPEprint('MAPE:',mape(y_true,?y_pred))?#?0.1461904761904762## R2-scorefrom sklearn.metrics import r2_scorey_true = [3, -0.5, 2, 7]y_pred = [2.5, 0.0, 2, 8]print('R2-score:',r2_score(y_true, y_pred)) # 0.9486081370449679以上內(nèi)容,供新人練手用。
與50位技術專家面對面20年技術見證,附贈技術全景圖總結(jié)
以上是生活随笔為你收集整理的均方根误差有没有单位_Python误差评判:MAE、MSE、RSquare、MAPE和RMSE的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 炸椒酱可以放大葱吗?
- 下一篇: edge浏览器如何把网页放到桌面_最强桌