线性回归 模型的评价方法 MSE, MAE,R2

回归模型的评价
在sklearn中包含四种评价尺度,分别为
mean_squared_error、
mean_absolute_error、
explained_variance_score
r2_score【2】。

mean_absolute_error:平均绝对误差(Mean Absolute Error,MAE),用于评估预测结果和真实数据集的接近程度的程度
,其其值越小说明拟合效果越好。

mean_squared_error:均方差(Mean squared error,MSE),该指标计算的是拟合数据和原始数据对应样本点的误差的
平方和的均值,其值越小说明拟合效果越好。

yi :预测值, y : 观察值, y_ : 观察值的平均数

explained_variance_score:解释回归模型的方差得分,其值取值范围是[0,1],越接近于1说明自变量越能解释因变量

的方差变化,值越小则说明效果越差。(1-var(y - yi)/var(y),用的是残差的方差)

r2_score:判定系数,其含义是也是解释回归模型的方差得分,其值取值范围是[0,1],越接近于1说明自变量越能解释因

变量的方差变化,值越小则说明效果越差。(1-家(y-yi)^2/var(y),用的是残差的平方和)

与R2相比,EVS得到的系数会偏大一些;因此,更加保守的方法是使用R2

#利用sklearn里面的merics模块导出三大函数,直接进行调用计算
from sklearn.metrics import mean_absolute_error
from sklearn.metrics import mean_squared_error
from sklearn.metrics import r2_score
#直接调用库函数进行输出R2
print(mean_squared_error(y_test,y_predict))
print(mean_absolute_error(y_test,y_predict))
print(r2_score(y_test,y_predict))
实现结果如下:

相关系数(协方差/sqrt(方差1*方差2)) ,衡量线性关系的强弱(但只能衡量线性系数),引申:协方差矩阵

5、偏差和方差【3】
机器学习算法针对特定数据所训练出来的模型并非是十全十美的,再加上数据本身的复杂性,误差不可避免。说到误差,就必须考虑其来源:模型误差 = 偏差(Bias)+ 方差(Variance)+ 数据本身的误差。其中数据本身的误差,可能由于记录过程中的一些不确定性因素等导致,这个我们无法避免,能做的只有不断优化模型参数来权衡偏差和方差,使得模型误差尽可能降到最低。

偏差:导致偏差的原因有多种,其中一个就是针对非线性问题使用线性方法求解,当模型欠拟合时,就会出现较大的偏差

方差:产生高方差的原因通常是由于模型过于复杂,即模型过拟合时,会出现较大的方差

通常情况下,我们降低了偏差就会相应地使得方差提高,降低了方差就会相应地提高了偏差,所以在机器学习的模型中,我们总是希望找到一组最优的参数,这些参数能权衡模型的偏差和方差,使得模型性能达到最优。

线性回归 模型的评价方法 MSE, MAE,R2_第1张图片

你可能感兴趣的:(机器学习)