【机器学习技巧】回归模型的几个常用评估指标(R2、Adjusted-R2、MSE、RMSE、MAE、MAPE)及其在sklearn中的调用方式

回归模型评估的两个方面

回归模型的评估主要有以下两个方面:

1. 预测值的拟合程度

拟合程度就是我们的预测值是否拟合了足够的信息。在回归模型中,我们经常使用决定系数R2来进行度量。

2. 预测值的准确度

准确度指预测值与实际真实值之间的差异大小。常用均方误差(Mean Squared Error, MSE),平均绝对误差(Mean Absolute Error, MAE),平均绝对百分比误差MAPE来度量。

下面我们对这几个评估指标进行介绍,以及其在sklearn中如何使用。

以糖尿病数据集的回归模型为计算示例-计算各指标

# 导入线性回归器算法模型
from sklearn.linear_model import LinearRegression 
import numpy as np
#糖尿病数据集 ,训练一个回归模型来预测糖尿病进展
from sklearn import datasets
dia = datasets.load_diabetes()
# 提取特征数据和标签数据
data = dia.data
target = dia.target
# 训练样本和测试样本的分离,测试集20%
from sklearn.model_selection import train_test_split
x_train,x_test,y_train,y_test = train_test_split(data,target,test_size=0.2)
# 创建线性回归模型
linear = LinearRegression()
# 用linear模型来训练数据:训练的过程是把x_train 和y_train带入公式W = (X^X)-1X^TY求出回归系数W
linear.fit(x_train,y_train)
# 对测试数据预测
y_pre = linear.predict(x_test)

1. 决定系数R2

R2( Coefficient of determination):决定系数,反映的是模型的拟合程度,R2的范围是0到1。其值越接近1,表明方程的变量对y的解释能力越强,这个模型对数据拟合的也较好。

在这里插入图片描述

1.1 R2求解方式一----从metrics调用r2_socre

from sklearn.metrics import r2_score
r2 = r2_score(y_true=y_test,y_pred=y_pre)
r2
0.5439247940652986

1.2 R2求解方式二----从模型调用score

r2 = linear.score(x_test,y_test)
r2
0.5439247940652986

1.3 R2求解方式二----交叉验证调用scoring=r2

from sklearn.model_selection import cross_val_score
r2 = cross_val_score(linear,x_test,y_test,cv=10,scoring="r2").mean()  # 求的值n次交叉验证后r2的均值
r2
0.3803655235719364

2. 校准决定系数Adjusted-R2

校正决定系数是指决定系数R可以用来评价回归方程的优劣,但随着自变量个数的增加,R2将不断增大。Adjusted-R2主要目的是为了抵消样本数量对R2的影响。

在这里插入图片描述

其中,n为样本数量,p为特征数量。即样本为n个[ x1, x2, x3, … , xp, y ]。取值也是越接近1越好。

n, p = x_test.shape
adjusted_r2 = 1 - ((1 - r2) * (n - 1)) / (n - p - 1)
adjusted_r2
0.300925206081159

3.均方误差MSE(Mean Square Error)

均方误差(Mean Square Error, MSE):是真实值与预测值的差值的平方,然后求和的平均,一般用来检测模型的预测值和真实值之间的偏差

在这里插入图片描述

from sklearn.metrics import mean_squared_error
mean_squared_error(y_test,y_pre)#y_test为实际值,y_pre为预测值
2658.8312775325517

4.均方根误差RMSE(Root Mean Square Error)

均方根误差(Root Mean Square Error, RMSE):即均方误差开根号,方均根偏移代表预测的值和观察到的值之差的样本标准差

在这里插入图片描述

from sklearn.metrics import mean_squared_error
np.sqrt(mean_squared_error(y_test,y_pre))#y_test为实际值,y_pre为预测值
51.563856309750065

5.平均绝对误差MAE(Mean Absolute Error)

平均绝对误差(Mean Absolute Error, MAE):是绝对误差的平均值,可以更好地反映预测值误差的实际情况

在这里插入图片描述

from sklearn.metrics import mean_absolute_error
mean_absolute_error(y_test,y_pre)#y_test为实际值,y_pre为预测值
42.09538057884898

6. 平均绝对百分比误差MAPE(Mean Absolute Percentage Error)

平均绝对百分比误差(Mean Absolute Percentage Error,MAPE):是相对误差度量值,它使用绝对值来避免正误差和负误差相互抵消,可以使用相对误差来比较各种时间序列模型预测的准确性。理论上,MAPE 的值越小,说明预测模型拟合效果越好,具有更好的精确度。

在这里插入图片描述

from sklearn.metrics import mean_absolute_percentage_error
mean_absolute_percentage_error(y_test,y_pre)#y_test为实际值,y_pre为预测值
0.4062288709549193

如果内容对你有帮助,感谢点赞+关注哦!

更多干货内容持续更新中…

回答: 在回归模型中,我们可以使用MAE(平均绝对误差),MSE(均方误差)和RMSE(均方根误差)来评估模型的性能。MAE是预测值与实际值之间差值的绝对值的平均值,MSE是预测值与实际值之间差值的平方的平均值,而RMSEMSE的平方根。\[1\]通常情况下,我们希望这些误差越小越好,因为它们表示了模型的预测与实际值之间的差异程度。因此,当我们比较不同的回归模型时,我们可以使用这些指标来判断模型的好坏。如果MAEMSERMSE都较小,那么我们可以认为该回归模型较好。\[1\]此外,我们还可以使用残差图来评估回归模型的适用性。如果数据点在没有图案的线上随机分布,那么线性回归模型非常适合数据,否则我们应该考虑使用非线性模型。\[2\] #### 引用[.reference_title] - *1* *2* [回归问题的评价指标 MAE MSE RMSE R2 score Adjusted R2 score 和 重要知识点总结](https://blog.csdn.net/HzauTriste/article/details/127562028)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] - *3* [回归模型评估指标MAEMSERMSE、R²、MAPE)](https://blog.csdn.net/y15659037739l/article/details/123971286)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

阿_旭

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值