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,模型越差值越小。

猜你喜欢

转载自blog.csdn.net/Muzi_Water/article/details/84286386