日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

【转载】回归模型的评价指标

發(fā)布時間:2025/10/17 编程问答 16 豆豆
生活随笔 收集整理的這篇文章主要介紹了 【转载】回归模型的评价指标 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

[轉(zhuǎn)載]https://www.cnblogs.com/nxf-rabbit75/p/10415812.html

分類問題的評價指標是準確率,那么回歸算法的評價指標就是MSE,RMSE,MAE、R-Squared。

分類問題的評價指標是準確率,那么回歸算法的評價指標就是MSE,RMSE,MAE、R-Squared。

MSE和MAE適用于誤差相對明顯的時候,大的誤差也有比較高的權(quán)重,RMSE則是針對誤差不是很明顯的時候;MAE是一個線性的指標,所有個體差異在平均值上均等加權(quán),所以它更加凸顯出異常值,相比MSE;

RMSLE: 主要針對數(shù)據(jù)集中有一個特別大的異常值,這種情況下,data會被skew,RMSE會被明顯拉大,這時候就需要先對數(shù)據(jù)log下,再求RMSE,這個過程就是RMSLE。對低估值(under-predicted)的判罰明顯多于估值過高(over-predicted)的情況(RMSE則相反)

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

用 真實值-預測值 然后平方之后求和平均。線性回歸用MSE作為損失函數(shù)

1
2
y_preditc=reg.predict(x_test) #reg是訓練好的模型
mse_test=np.sum((y_preditc-y_test)**2)/len(y_test) #跟數(shù)學公式一樣的
2、RMSE(Root Mean Squared Error)均方根誤差

這不就是MSE開個根號么。有意義么?其實實質(zhì)是一樣的。只不過用于數(shù)據(jù)更好的描述。
例如:要做房價預測,每平方是萬元(真貴),我們預測結(jié)果也是萬元。那么差值的平方單位應(yīng)該是 千萬級別的。那我們不太好描述自己做的模型效果。怎么說呢?我們的模型誤差是 多少千萬?。。。。。。于是干脆就開個根號就好了。我們誤差的結(jié)果就跟我們數(shù)據(jù)是一個級別的,在描述模型的時候就說,我們模型的誤差是多少萬元。

1
rmse_test=mse_test ** 0.5
3、MAE (Mean absolute Error)平均絕對誤差

1
mae_test=np.sum(np.absolute(y_preditc-y_test))/len(y_test)
4、R-Squared
  對于回歸類算法而言,只探索數(shù)據(jù)預測是否準確是不足夠的。除了數(shù)據(jù)本身的數(shù)值大小之外,我們還希望我們的模型能夠捕捉到數(shù)據(jù)的”規(guī)律“,比如數(shù)據(jù)的分布規(guī)律,單調(diào)性等等,而是否捕獲了這些信息并無法使用MSE來衡量。

來看這張圖,其中紅色線是我們的真實標簽,而藍色線是我們的擬合模型。這是一種比較極端,但的確可能發(fā)生的 情況。這張圖像上,前半部分的擬合非常成功,看上去我們的真實標簽和我們的預測結(jié)果幾乎重合,但后半部分的 擬合卻非常糟糕,模型向著與真實標簽完全相反的方向去了。對于這樣的一個擬合模型,如果我們使用MSE來對它 進行判斷,它的MSE會很小,因為大部分樣本其實都被完美擬合了,少數(shù)樣本的真實值和預測值的巨大差異在被均 分到每個樣本上之后,MSE就會很小。但這樣的擬合結(jié)果必然不是一個好結(jié)果,因為一旦我的新樣本是處于擬合曲 線的后半段的,我的預測結(jié)果必然會有巨大的偏差,而這不是我們希望看到的。所以,我們希望找到新的指標,除 了判斷預測的數(shù)值是否正確之外,還能夠判斷我們的模型是否擬合了足夠多的,數(shù)值之外的信息。

方差的本質(zhì)是任意一個值和樣本均值的差異,差異越大,這些值所帶的信息越多。在R2和EVS中,分子是真實值和預測值之差的差值,也就是我們的模型沒有捕獲到的信息總量,分母是真實標簽所帶的信息量,所以兩者都衡量 1 - 我們的模型沒有捕獲到的信息量占真實標簽中所帶的信息量的比例,所以,兩者都是越接近1越好

化簡上面的公式 ,分子分母同時除以m,那么分子就變成了我們的均方誤差MSE,下面分母就變成了方差

在R2中,分子是真實值和預測值之差的差值,也就是我們的模型沒有捕獲到的信息總量,分母是真實標簽所帶的信息量,所以兩者都衡量 1 - 我們的模型沒有捕獲到的信息量占真實標簽中所帶的信息量的比例,所以,兩者都是越接近1越好。

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

如果結(jié)果是 1,說明模型無錯誤

三種調(diào)用方式:

第一種是直接從metrics中導入r2_score,輸入預測值和真實值后打分。
  第二種是直接從線性回歸LinearRegression的接口score來進行調(diào)用。
  第三種是在交叉驗證中,輸入"r2"來調(diào)用。EVS有兩 種調(diào)用方法,可以從metrics中導入,也可以在交叉驗證中輸入”explained_variance“來調(diào)用。

5.RMSLE(Root Mean Squared Logarithmic Error)
假如真實值為1000,若果預測值是600,那么RMSE=400, RMSLE=0.510

假如真實值為1000,若預測結(jié)果為1400, 那么RMSE=400, RMSLE=0.336

可以看出來在均方根誤差相同的情況下,預測值比真實值小這種情況的錯誤比較大,即對于預測值小這種情況懲罰較大。

當數(shù)據(jù)當中有少量的值和真實值差值較大的時候,使用log函數(shù)能夠減少這些值對于整體誤差的影響。

假設(shè)下圖:圖的最低點是真實值:3,從圖來看,越偏離真實值,誤差越大。但偏左邊和偏右邊誤差增長幅度不一樣,所以對于skew數(shù)據(jù)有效。

Scikit-learn中的各種衡量指標
1
2
3
4
5
6
7
from sklearn.metrics import mean_squared_error #均方誤差
from sklearn.metrics import mean_absolute_error #平方絕對誤差
from sklearn.metrics import r2_score#R square
#調(diào)用
mean_squared_error(y_test,y_predict)
mean_absolute_error(y_test,y_predict)
r2_score(y_test,y_predict)

《新程序員》:云原生和全面數(shù)字化實踐50位技術(shù)專家共同創(chuàng)作,文字、視頻、音頻交互閱讀

總結(jié)

以上是生活随笔為你收集整理的【转载】回归模型的评价指标的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。