1 前言

回归任务是机器学习中常见的任务,特别是涉及到具体的发电量预测、风力预测等工业任务时,有非常多的应用场景。回归任务不同于分类任务,回归任务的预测值一般是连续的数,分类任务的预测值则是离散的值(比如0、1分类);分类任务使用accuracy_score、recall_score、F1_score作为评价指标,而回归任务中常用的指标主要包括:explained_variance_score、mean_absolute_error、mean_squared_error、 root-mean-square error、r2_score。

2 评价指标介绍

2-1 explained_variance_score

可解释方差( explained_variance_score)。用于评判回归模型的方差得分,其值取值范围是[0,1],越接近于1说明自变量越能解释因变量的方差变化,值越小则说明效果越差。假设是真实值,是相对应的预测值,是方差。Explained Variance由下式公式给出:

统计中的方差(样本方差)是每个样本值与全体样本值的平均数之差的平方值的平均数。可解释方差并不意味着解释了方差,仅仅意味着我们可以使用一个或多个变量来比以前更准确地预测事物。在许多模型中,如果X与Y相关,X可以说是”解释”了Y中的方差,但是X并不真正导致Y。

prediction = [2.7290165424346924,5.511385440826416,5.924368381500244,6.808969020843506,6.886723041534424,7.523008346557617]
true_value = [2.779719114303589, 5.632253646850586,6.240379810333252,6.325290203094482,6.893458843231201,7.779913425445557]
from sklearn.metrics import explained_variance_score
score = explained_variance_score(true_value, prediction)
print(score)
#0.9722818339245968

2-2 mean_absolute_error

平均绝对误差(Mean Absolute Error,MAE),用来描述预测值和真实值的差值,用于评估预测结果和真实数据集的接近程度的程度,其值越小说明拟合效果越好。平均绝对误差 (MAE)是最容易理解的回归误差指标。 我们将为每个数据点计算残差,只取每个残差的绝对值,以使负残差和正残差不会被抵消。 然后,我们取所有这些残差的平均值。 有效地,MAE描述了残差的典型大小。假设fi是真实值,yi是相对应的预测值,则n个样本的MAE可由下式出给:

虽然平均绝对误差能够获得一个评价值,但是并不知道这个值代表模型拟合是优还是劣,只有通过对比才能达到效果。

prediction = [2.7290165424346924,5.511385440826416,5.924368381500244,6.808969020843506,6.886723041534424,7.523008346557617]
true_value = [2.779719114303589, 5.632253646850586,6.240379810333252,6.325290203094482,6.893458843231201,7.779913425445557]
from sklearn.metrics import mean_absolute_error
score = mean_absolute_error(true_value, prediction)
print(score)
#0.20581698417663574

2-3  mean_squared_error

  均方差(Mean squared error,MSE),该指标计算的是拟合数据和原始数据对应样本点的误差的平方和的均值,其值越小说明拟合效果越好。假设fi是真实值,yi是相对应的预测值,则n个样本的MAE可由下式出给:

prediction = [2.7290165424346924,5.511385440826416,5.924368381500244,6.808969020843506,6.886723041534424,7.523008346557617]
true_value = [2.779719114303589, 5.632253646850586,6.240379810333252,6.325290203094482,6.893458843231201,7.779913425445557]
from sklearn.metrics import mean_squared_error
score = mean_squared_error(true_value, prediction)
print(score)
#0.06950564774945178

2-4 root-mean-square error

由于MSE与我们的目标变量的量纲不一致,为了保证量纲一致性,我们需要对MSE进行开方,即均方根误差(RMSE):均方根误差 Root Mean Squared Error(RMSE)。

均方根误差亦称标准误差,它是观测值与真值偏差的平方与观测次数比值的平方根。均方根误差是用来衡量观测值同真值之间的偏差。标准误差对一组测量中的特大或特小误差反映非常敏感,所以,标准误差能够很好地反映出测量的精密度。可用标准误差作为评定这一测量过程精度的标准。计算公式如下:

  这不就是MSE开个根号么。有意义么?其实实质是一样的。只不过用于数据更好的描述。例如:要做房价预测,每平方是万元,我们预测结果也是万元。那么差值的平方单位应该是 千万级别的。那我们不太好描述自己做的模型效果。我们的模型误差是多少千万?于是干脆就开个根号就好了。我们误差的结果就跟我们数据是一个级别的,可在描述模型的时候就说,我们模型的误差是多少万元。

  RMSE与MAE对比:RMSE相当于L2范数,MAE相当于L1范数。次数越高,计算结果就越与较大的值有关,而忽略较小的值,所以这就是为什么RMSE针对异常值更敏感的原因(即有一个预测值与真实值相差很大,那么RMSE就会很大)

prediction = [2.7290165424346924,5.511385440826416,5.924368381500244,6.808969020843506,6.886723041534424,7.523008346557617]
true_value = [2.779719114303589, 5.632253646850586,6.240379810333252,6.325290203094482,6.893458843231201,7.779913425445557]
from sklearn.metrics import mean_squared_error
import math
mse_score = mean_squared_error(true_value, prediction)
rmse_score = math.sqrt(mse_score)
print(rmse_score)

2-5 R2 score

R2 Score又称为the coefficient of determination。判断的是预测模型和真实数据的拟合程度,最佳值为1,同时可为负值。假设yi是真实值,fi是相对应的预测值,的均值,则n 个样本的R2 score由下式公式给出:

如果结果是0,就说明我们的模型跟瞎猜差不多。如果结果是1,就说明我们模型无错误。如果结果是0-1之间的数,数值就是评判我们模型的好坏程度的标准。如果结果是负数。说明我们的模型还不如瞎猜。

prediction = [2.7290165424346924,5.511385440826416,5.924368381500244,6.808969020843506,6.886723041534424,7.523008346557617]
true_value = [2.779719114303589, 5.632253646850586,6.240379810333252,6.325290203094482,6.893458843231201,7.779913425445557]
from sklearn.metrics import r2_score
score = r2_score(true_value, prediction)
print(score)
#0.9714655558567518

后记

reference:sklearn中的回归器性能评估方法 - nolonely - 博客园

【机器学习】回归模型评价指标原理与基于sklearn的实现相关推荐

  1. 【实战】——基于机器学习回归模型对广州二手房价格进行分析及模型评估

    目录 1.数据导入 2.数据清洗 2.1.变量选取 2.2.空值处理 2.3.类型转化 2.4.数据再处理 3.机器学习sklearn的实现 3.1.训练集和测试集的拆分 3.2.数据的标准化 3.3 ...

  2. 机器学习回归模型精度_机器学习模型实施精度召回和概率截止。

    机器学习回归模型精度 Congratulations on completing your Machine Learning (ML) pipeline! In the second part of ...

  3. 回归模型评价指标:MSE、RMSE、MAE、R2 score

    回归模型评价指标:MSE.RMSE.MAE. R 2 R^2 R2 score 回归模型评价指标:MSE.RMSE.MAE.R2 score 前言 平均绝对误差(MAE) 均方误差(MSE) 均方根误 ...

  4. R语言caret包构建机器学习回归模型(regression model)、使用DALEX包进行模型解释分析、特征重要度、偏依赖分析等

    R语言caret包构建机器学习回归模型(regression model).使用DALEX包进行模型解释分析.特征重要度.偏依赖分析等 目录

  5. 模型评估 | 机器学习回归模型评价(RMSE、MAE、MAPE)

    模型评估 | 机器学习回归模型评价(RMSE.MAE.MAPE) RMSE.MAE.MAPE function result(true_value,predict_value,type) disp(t ...

  6. 模型评估 | 机器学习回归模型评价(RMSE、MAPE、R^2、NSE)

    模型评估 | 机器学习回归模型评价(RMSE.MAPE.R^2.NSE) RMSE.MAPE.R^2.NSE % RMSE RMSE_test = sqrt(sumsqr(output_test - ...

  7. 机器学习分类模型评价指标之Accuracy、Precision、Recall、F-Score、P-R Curve、AUC、AP 和 mAP

    前文:https://www.cnblogs.com/odesey/p/16902836.html 介绍了混淆矩阵.本文旨在说明其他机器学习模型的评价指标. 1. 准确率(Accuracy-Acc) ...

  8. 机器学习分类模型评价指标之ROC 曲线、 ROC 的 AUC 、 ROI 和 KS

    前文回顾: 机器学习模型评价指标之混淆矩阵 机器学习模型评价指标之Accuracy.Precision.Recall.F-Score.P-R Curve.AUC.AP 和 mAP 图裂的话请参考:ht ...

  9. logistics回归模型的原理和实现

    机器学习基础(七) Logistics回归 原理 代码实现 Logistics回归 原理 Logistics回归是统计学习中的经典分类方法,是一种广义的线性回归模型.它经常被使用于二分类问题的解决上, ...

最新文章

  1. android 6.0权限库,Android 6.0动态权限适配
  2. KVM-Qemu-Libvirt三者之间的关系
  3. 排列组合算法的实现代码
  4. 看懂mysql执行计划--官方文档
  5. Git复习(十二)之命令专场
  6. dockerfile 安装mysql_dockerfile构建mysql镜像
  7. LeetCode 65. 有效数字(逻辑题,难)
  8. 关闭word_记一次毕设消失事件始末,及mac+word文档消失恢复方法汇总
  9. html画布实现小球沿直线下落,[面向对象的案例]在canvas画布内实现小球的随机移动...
  10. 手机微信如何设置浏览器打开时提醒
  11. JAVA并发编程实践-中文-高清-带书签-完整版
  12. 《别闹了,费曼先生》1
  13. 万能平板刷机软件_万能手机刷机软件下载
  14. 经典软件项目源码汇总
  15. 基于MATLAB的身份证号码的识别算法
  16. html5 dat.gui,Dat.gui 使用教程
  17. Bootstrap broker localhost9092 (id -1 rack null) disconnected
  18. Linux运维大牛带你认识真正 Linux 系统结构!超强入门技术文!
  19. Shadow 腾讯插件化——深度解剖框架设计
  20. 计算机安全模式有哪些作用是什么意思,进入安全模式后有什么用处?

热门文章

  1. volatile为什么不能保证原子性的思考
  2. 秩序让生活趋向于和谐
  3. 翻译D6(附AC码 POJ 05:Grocery Problem)
  4. D5:Grocery Problem(杂货问题,附题解)
  5. 脉冲编码调制的简单介绍
  6. Linux第二次基础知识总结(rpm、yum、服务器基础、web、dhcp、nfs、ftp)开机过程
  7. 微信小商店开放个人申请
  8. 用ArcGIS中的Resampling工具进行栅格重采样操作
  9. 为什么要选择 Unity 3D来开发游戏?
  10. Zookeeper启动流程浅析