1. 程式人生 > >【機器學習】可決係數R^2和MSE,MAE,SMSE

【機器學習】可決係數R^2和MSE,MAE,SMSE

https://discussions.youdaxue.com/t/r-2/6582?u=beibei19890724

波士頓房價預測

首先這個問題非常好:+1:
其實要完整的回答這個問題很有難度,我也沒有找到一個完整敘述這個東西的資料,所以下面主要是結合我自己的理解和一些資料談一下r^2,mean square error 和 mean absolute error。可能不是很完整,供參考:grin:

MSE


這個應用應該是最廣的,因為他能夠求導,所以經常作為loss function。計算的結果就是你的預測值和真實值的差距的平方和。

MAE


這個用的不是上面的平方項了,而是用了絕對值項。

R^2


看公式其實不難發現,它和MSE是有相似的,關鍵在於下面除了一個東西。簡單的想就是相當於對預測值和真實值的趨勢做了一個對比。

SMSE

比較

首先從公式也能看出來,這三個基本上是R^2算一類,然後MSE和MAE算另一類。為什麼呢?因為R^2相當於是對所有的資料都會有一個相同的比較標準。也就是說你得到一個值0.9999,那就非常好(當然對不同的應用你對好的定義可能會不一樣,比如某些你覺得0.6就夠了,某些你要0.8)。而MAE和MSE就是資料相關了,範圍可以非常大,你單純根據一個值完全不知道效果怎麼樣。

而MAE 和MSE的選擇主要是取決於你的應用場景,因為MSE會對離平均較遠的點給一個更大的懲罰值(有平方嘛),而MAE則是給一個相對更小的。這個你可以參考這個連結3

This depends on your loss function. In many circumstances it makes sense to give more weight to points further away from the mean--that is, being off by 10 is more than twice as bad as being off by 5. In such cases RMSE is a more appropriate measure of error.

If being off by ten is just twice as bad as being off by 5, then MAE is more appropriate.

http://stats.stackexchange.com/questions/48267/mean-absolute-error-or-root-mean-squared-error

題目中為什麼用了R^2

這個我也是猜猜(畢竟不是我出的嘛:joy:),因為如果用另兩個的話,你得出一個結果6.66,那麼你怎麼說這個好還是不好?根本沒法說嘛。那這個問題你就沒法回答了。

PS:其實老版的project裡面就有一個問題是說,讓你為這個問題選擇一個performance metric,其中最難分辨的就是MAE和MSE,你可以考慮下這個問題用哪個更好。:slight_smile: