目录

  • 回归模型评估的两个方面
    • 1. 预测值的拟合程度
    • 2. 预测值的准确度
  • 以糖尿病数据集的回归模型为计算示例-计算各指标
  • 1. 决定系数R2
    • 1.1 R2求解方式一----从metrics调用r2_socre
    • 1.2 R2求解方式二----从模型调用score
    • 1.3 R2求解方式二----交叉验证调用scoring=r2
  • 2. 校准决定系数Adjusted-R2
  • 3.均方误差MSE(Mean Square Error)
  • 4.均方根误差RMSE(Root Mean Square Error)
  • 5.平均绝对误差MAE(Mean Absolute Error)
  • 6. 平均绝对百分比误差MAPE(Mean Absolute Percentage Error)

回归模型评估的两个方面

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

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

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

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

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

  1. 二、机器学习之回归模型分析

    文章目录 一.回归模型 1.1 回归模型定义 1.2 回归模型分析方法 二.回归分析 2.1 线性回归和多项式回归 2.1.1 线性回归定义 2.2.2 代码实现分析: 2.2 逻辑回归 2.2.1 ...

  2. R语言编写自定义函数、评估回归模型预测变量的相对重要性(Relative importance)、通过在所有可能的子模型中添加一个预测变量而获得的R方的平均增加、评估预测变量的重要度、并通过点图可视化

    R语言编写自定义函数.评估回归模型预测变量的相对重要性(Relative importance).通过在所有可能的子模型中添加一个预测变量而获得的R方的平均增加.来评估预测变量的重要程度.并通过点图可 ...

  3. ML之ME/LF:机器学习中回归预测模型评估指标(MSE/RMSE/MAE)简介、使用方法、代码实现、案例应用之详细攻略

    ML之ME/LF:机器学习中回归预测模型评估指标(MSE/RMSE/MAE)简介.使用方法.代码实现.案例应用之详细攻略 目录 回归预测问题中评价指标简介 RMSE 标准差SD MSE函数

  4. 深度学习分类任务常用评估指标

    摘要:这篇文章主要向大家介绍深度学习分类任务评价指标,主要内容包括基础应用.实用技巧.原理机制等方面,希望对大家有所帮助. 本文分享自华为云社区<深度学习分类任务常用评估指标>,原文作者: ...

  5. 模型预测精度(数值regression)评价指标 - RMSE, MAE, MAPE Bias哪个指标更好?Forecast KPIs: RMSE, MAE, MAPE Bias

    模型预测精度(数值regression)评价指标 - RMSE, MAE, MAPE & Bias哪个指标更好? 在销量/需求预测时常用的一些模型评价指标,尤其是在supplychain销量预 ...

  6. 学习机器学习四 回归模型——线性回归、L1正则化(Lasso回归)、L2正则化(ridge回归)

    还记得什么是回归吗?回忆下回归就是连续的输出,分类是离散的. 回归模型一般分为:①线性回归--就是线性方程,类似为一元一次方程(y=wx+b),比如你的年龄: ②逻辑回归(类似为曲线方程) 线性回归 ...

  7. 【机器学习】回归模型评价指标原理与基于sklearn的实现

    1 前言 回归任务是机器学习中常见的任务,特别是涉及到具体的发电量预测.风力预测等工业任务时,有非常多的应用场景.回归任务不同于分类任务,回归任务的预测值一般是连续的数,分类任务的预测值则是离散的值( ...

  8. 【Python机器学习】回归模型:推土机售价预测

    文章目录 使用机器学习预测推土机的售价 零.导入模块 一.EDA 1.1 查看基本信息 1.2 特征类型转换 1.3 联表+特征初筛 1.3.1 删除包含重复信息的特征 1.3.2 fiBaseMod ...

  9. 机器学习--逻辑回归模型(Logistic Regression)

    1.逻辑回归 逻辑回归(Logistic Regression)是一种用于二元分类问题的机器学习算法.逻辑回归的目的是基于输入特征预测一个样本属于某个特定的类别的概率. 逻辑回归的核心思想是将线性回归 ...

最新文章

  1. ant 获取当前url的参数
  2. SQL Server 2005 18452登录错误 的解决方法
  3. DL之SPP-Net:SPP-Net算法的简介(论文介绍)、架构详解、案例应用等配图集合之详细攻略
  4. greenPlum资源隔离
  5. SAP ABAP实用技巧介绍系列之 ABAP XSLT select keyword
  6. 【C单链表】链表与尾插法
  7. React开发(177):opentab没有menu会报错
  8. mitmproxy抓包 | Python双篡改假请求实战(六)
  9. 第五章:几个重要技术总结
  10. win7文件和文件夹可以重名吗_Win7下如何重命名,替换System32文件夹下的系统文件...
  11. 【Kafka】kafka NotLeaderForPartitionException thisserver is not the leader for topic-partition
  12. 步步为营-87-imageAreaSelect插件使用(图片剪切)
  13. mysql开启远程访问权限
  14. ln -s命令 linux_浅谈linux中ln命令,附带案例
  15. [渝粤教育] 西南科技大学 试验统计方法 在线考试复习资料2021版
  16. C++ Qt QComboBox使用教程
  17. php视图编辑,word中最适合查看编辑排版效果的视图是什么
  18. 百练noi21:二维数组右上左下遍历,24:蛇形填充数组
  19. 靶场练习第二天~vulnhub靶场之 THE PLANETS: EARTH
  20. duet连win10_duet display windows

热门文章

  1. 给mysql添加用户,使其可以远程访问
  2. mysql 100个标题_史上100个最吸引人的标题模版大全
  3. quartus II工具In-System Memory Content Editor使用方法
  4. PalmOS开发教程-7
  5. 电脑桌面云便签软件怎么设置禁止移动窗体固定便签显示位置?
  6. 你不得不知道的设置canvas画布的宽和高的坑
  7. 《美国新闻与世界报道》公布2021年全球最佳大学排行榜
  8. (多头、空头、金叉、死叉、卖出信号、买出信号)的python处理
  9. 如何控制局域网网速_如何优化家中的网络设备,让你的网络最快?
  10. Apple books