1. 程式人生 > >Python3——sklearn中評價迴歸模型的六種方法

Python3——sklearn中評價迴歸模型的六種方法

評價迴歸模型的好壞需要計算真實值與預測值之間的誤差關係,sklearn為我們提供了6種評價迴歸模型的方法,分別是

1.均方誤差(mean squared error),

2.平均絕對誤差(mean absolute error),

3.均方對數誤差(mean squared logarithmic error),

4.中值絕對誤差(median absolute error),

5.可釋方差分數(explain variance score),

6.R^{2}決定係數分數(R^{2} score)

假設共有n個樣本,真實值是y_i,預測值是\hat{y_i}

1. 均方誤差(mean squared error)

注意:區別於均方差(標準差)!!!標準差,也稱均方差,定義為方差的算術平方根,反映組內個體間的離散程度。

mean_squared_error(y_true, y_pred, sample_weight=None, multioutput='uniform_average')

其中 multioutput : 有兩個取值,分別是 ['raw_values', 'uniform_average']

“raw_values”:

在多輸出的情況下返回每個輸出的誤差集合。

“uniform_average”:

在多輸出的情況下返回所有輸出的誤差均值。

                                                                       MSE = \frac{1}{n}\sum_{i=1}^{n}{(y_i-\hat{y_i})}^{2}

均方誤差是非負值,模型越MSE越接近

2.平均絕對誤差(mean absolute error)

mean_absolute_error(y_true, y_pred, sample_weight=None, multioutput='uniform_average')

                                                                       MAE = \frac{1}{n}\sum_{i=1}^{n}\left | y_i-\hat{y_i}\right |

平均絕對誤差是非負值,模型越MAE越接近

3.均方對數誤差(mean squared logarithmic error)

mean_squared_log_error(y_true, y_pred, sample_weight=None, multioutput='uniform_average')

                                                                   MSLE = \frac{1}{n}\sum_{i=1}^{n}{(\log (y_i+1)-\log (\hat{y_i}+1))}^{2}

均方對數誤差是非負值,模型越MSLE越接近

4.中值絕對誤差(median absolute error)

median_absolute_error(y_true, y_pred)

MedAE = median(\left | y_i-\hat{y_i}\right |,...\left | y_n-\hat{y_n}\right |)

中值絕對誤差是非負值,模型越MSE越接近

5.可釋方差分數(explain variance score)

explained_variance_score(y_true, y_pred, sample_weight=None, multioutput='uniform_average')

                                                                     EVS = 1-\frac{var(y_i-\hat{y_i})}{var(y_i)}

模型的可釋方差分數值為1,模型越差值越小。

6.R^{2}決定係數分數(R^{2}(coefficient of determination) score)

r2_score(y_true, y_pred, sample_weight=None, multioutput='uniform_average')

                                                                   R^2 = 1-\frac{\sum _{i=0}^{n}{(y_i-\hat{y_i})^2}}{\sum _{i=0}^{n}{(y_i-\bar{y_i})^2}}

模型的R^{2}決定係數分數值為1,常數模型值為0,模型越差值越小。