回歸模型的score得分為負 回歸模型評估指標

2021-10-18 18:07:25 字數 3217 閱讀 3472

在建立回歸模型時需要對模型的效果進行評測,選擇哪一種指標作為評估指標也會影響最終模型的效果。這裡選擇scikit learn自帶的回歸模型評估指標進行詳細講解。

explained_variance_score(y_true, y_pred) explained variance regression score function

mean_absolute_error(y_true, y_pred) mean absolute error regression loss

mean_squared_error(y_true, y_pred[, …]) mean squared error regression loss

mean_squared_log_error(y_true, y_pred) mean squared logarithmic error regression loss

median_absolute_error(y_true, y_pred) median absolute error regression loss

r2_score(y_true, y_pred[, …]) r^2 (coefficient of determination) regression score function.

可解釋方差explained variance score

假設y是真實值,f 是相對應的**值,var是方差,explained variance由下式公式給出:

$$explained\ variance = 1 – \frac$$

值最大為1,越接近1越好

什麼是可解釋方差?

在理解「可解釋方差」前,需要先了解下方差:離平均的平方距離的平均。方差很難理解,其中的乙個原因是很難視覺化。可解釋方差並不意味著解釋了方差,僅僅意味著我們可以使用乙個或多個變數來比以前更準確地**事物。

在許多模型中,如果x與y相關,x可以說是」解釋」了y中的方差,即使x並不真正導致y。在下面的例子中,y的方差的80%是由於x,剩下的20%由其他的一些error導致的。由於x與error非相關的z-score值,路徑係數等於與y的相關係數。

可解釋方差的視覺化

平均絕對誤差 mean absolute error(mae)

mae用來描述**值和真實值的差值。數值越小越好。假設$y_i$是真實值,$f_i$是相對應的**值,則n個樣本的mae可由下式出給:

$$mae = \frac \sum_^|f_i-y_i|$$

mae優缺點:雖然平均絕對誤差能夠獲得乙個評價值,但是你並不知道這個值代表模型擬合是優還是劣,只有通過對比才能達到效果。

均方誤差 mean squared error(mse)

mean squared error也稱為mean squared deviation(msd),計算的是**值和實際值的平方誤差。同樣,數值越小越好。

假設$y_i$是真實值,$f_i$是相對應的**值,則n 個樣本的mse由下式公式給出:

$$mse = \frac \sum_^(f_i – y_i)^2$$

由於mse與我們的目標變數的量綱不一致,為了保證量綱一致性,我們需要對mse進行開方,即均方根誤差(rmse):

均方根誤差 root mean squared error(rmse)

均方根誤差rmse(root-mean-square error), 均方根誤差亦稱標準誤差,它是觀測值與真值偏差的平方與觀測次數比值的平方根。均方根誤差是用來衡量觀測值同真值之間的偏差。標準誤差對一組測量中的特大或特小誤差反映非常敏感,所以,標準誤差能夠很好地反映出測量的精密度。可用標準誤差作為評定這一測量過程精度的標準。計算公式如下:

$$rmse = \sqrt \sum_^(f_i – y_i)^2}$$

這不就是mse開個根號麼。有意義麼?其實實質是一樣的。只不過用於資料更好的描述。例如:要做房價**,每平方是萬元,我們**結果也是萬元。那麼差值的平方單位應該是 千萬級別的。那我們不太好描述自己做的模型效果。我們的模型誤差是多少千萬?於是乾脆就開個根號就好了。我們誤差的結果就跟我們資料是乙個級別的,可在描述模型的時候就說,我們模型的誤差是多少萬元。

rmse與mae對比:rmse相當於l2範數,mae相當於l1範數。次數越高,計算結果就越與較大的值有關,而忽略較小的值,所以這就是為什麼rmse針對異常值更敏感的原因(即有乙個**值與真實值相差很大,那麼rmse就會很大)。

均值平方對數誤差 mean squared log error(msle)

如果$\hat_i$是第i個樣本的**值,$y_i$是相應的真實值,則在$n_$上估計的均方對數誤差(msle)被定義為:

$$\text(y, \hat) = \frac} \sum_^ – 1} (\log_e (1 + y_i) – \log_e (1 + \hat_i) )^2$$

其中$log_e(x)$表示x的自然對數。 當目標具有指數增長的目標時,最適合使用這一指標,例如人口數量,商品在一段時間內的平均銷售額等。

注意,該度量對低於真實值的**更加敏感。

中位數絕對誤差 median absolute error(medianae)

中位數絕對誤差非常有趣,因為它可以減弱異常值的影響。 通過取目標和**之間的所有絕對差值的中值來計算損失。如果$\hat_i$是第i個樣本的**值,$y_i$是相應的真實值,則在$n_$上估計的中值絕對誤差(medae)被定義為:

$$\text(y, \hat) = \text(\mid y_1 – \hat_1 \mid, \ldots, \mid y_n – \hat_n \mid)$$

r-平方 $r^2$ score

$r^2$ score又稱為the coefficient of determination。判斷的是**模型和真實資料的擬合程度,最佳值為1,同時可為負值。

假設$y_i$是真實值,$f_i$是相對應的**值,則n 個樣本的$r^2$ score由下式公式給出:

$$r^2 = 1 – \frac^(y_i – f_i)^2}^(y_i – \overline)^2}$$

其中$\overline$是y 的均值,即$\overline = \frac\sum_^ y_i$

如果結果是0,就說明我們的模型跟瞎猜差不多。如果結果是1。就說明我們模型無錯誤。如果結果是0-1之間的數,就是我們模型的好壞程度。如果結果是負數。說明我們的模型還不如瞎猜。

評估回歸模型

與優化均方誤差相比,優化平均絕對誤差可能會導致不同的 最優模型 然而,與優化 r2 值相同,優化均方誤差將總是導致相同的 最優 模型。同樣,如果你選擇具有最佳 r2 分數 最高 的模型,它也將是具有最低均方誤差 mse 的模型。1 平均絕對誤差 mae 不利於使用梯度下降 當你要 的資料遵循偏斜分布...

回歸模型的評估指標

回歸 擬合 問題比較簡單,所用到的衡量指標也相對直觀。1.平均絕對誤差 mae 2.平均平方誤差 mse 3.均方根誤差 rmse 4.決定係數 r2 如果結果是0,說明我們的模型跟瞎猜差不多。如果結果是1,說明模型無錯誤。數學理解 分母為原始資料的離散程度,分子為 資料和原始資料的誤差,二者相除,...

回歸模型的評估指標

回歸模型的評估指標 rmse 平方根誤差 mae 平均絕對誤差 mse 平均平方誤差 coefficient of determination 決定係數r2 mape 平均絕對百分誤差 msle 均方根對數誤差 等。from sklearn.metrics import mean squared e...