回归问题的性能度量标准

我们以$Y = \{ y_1, y_2,...,y_n \}$ 表示真实的数据,以$\hat Y = \{  \hat{y}_1, \hat{y}_2,...,\hat{y}_n\}$表示预测出来的数据

1:均方误差 (mean square error)MSE

$MSE = \frac{1}{n} \sum \limits_{i=1}^{n} (y_i – \hat{y}_i)^2$

2:均方根误差 (root mean squared error)RMSE

均方根误差是均方误差开根号得到的结果

$RMSE =  \sqrt{ \frac{1}{n} \sum \limits_{i=1}^{n} (y_i – \hat{y}_i)^2 }$

3:平均绝对误差 (mean absolute error) MAE

$MAE = \frac{1}{n} \sum \limits_{i=1}^{n} \lvert y_i – \hat{y}_i \rvert$

4:均方根对数误差 (root mean squared logarithmic error) RMSLE

$RMSLE =  \sqrt{ \frac{1}{n} \sum \limits_{i=1}^{n} (log(\hat{y}_i  + 1) – log(y_i + 1) )^2 }$

使用RMSLE的好处一:

假如真实值为1000,若果预测值是600,那么RMSE=400, RMSLE=0.510

假如真实值为1000,若预测结果为1400, 那么RMSE=400, RMSLE=0.336

可以看出来在均方根误差相同的情况下,预测值比真实值小这种情况的错误比较大,即对于预测值小这种情况惩罚较大。

使用RMSLE的好处二:

直观的经验是这样的,当数据当中有少量的值和真实值差值较大的时候,使用log函数能够减少这些值对于整体误差的影响。

使用sklearn.metrics 来进行计算:

from sklearn.metrics import mean_squared_errorfrom sklearn.metrics import mean_squared_log_errorfrom sklearn.metrics import mean_absolute_error

x = [1,2,3,4,5]y = [2,4,3,2,6]

MSE = mean_squared_error(x, y)RMSE = MSE ** 0.5MAE = mean_absolute_error(x, y)MSLE = mean_squared_log_error(x, y)RMSLE = MSLE ** 0.5print(MSE, RMSE, MAE, RMSLE)

结果为:

2.0 1.4142135623730951 1.2 0.3768421477956514

参考:

检测模型结果的时候,除了最常用的MSE,RMSE,Accuracy,AUC等,还有什么吗?

What is the difference between an RMSE and RMSLE

原文地址:https://www.cnblogs.com/jiaxin359/p/8989565.html

时间: 2024-10-17 13:44:02

回归问题的性能度量标准的相关文章

吴裕雄 python 机器学习——模型选择回归问题性能度量

from sklearn.metrics import mean_absolute_error,mean_squared_error #模型选择回归问题性能度量mean_absolute_error模型 def test_mean_absolute_error(): y_true=[1,1,1,1,1,2,2,2,0,0] y_pred=[0,0,0,1,1,1,0,0,0,0] print("Mean Absolute Error:",mean_absolute_error(y_tr

模型性能度量

对学习器的泛化性能的评估,不仅需要有效可行的试验评估方法,还需要有模型泛化能力的评价标准,这就是性能度量(performance measure),性能度量反映了任务需求,在对比不同模型的能力时,使用不同的性能度量往往会导致不同的评判结果,这意味着模型的"好坏"是相对的,什么样的模型是好的,不仅取决于算法和数据,还决定于任务需求. 在预测任务中,给定样例集D={(x1,y1),(x2,y2),......,(xm,ym)},其中yi是示例xi的真是标记,要评估学习器f的性能,就要把学习

机器学习之性能度量

性能度量是衡量模型泛化能力的评判标准,性能度量反映了任务需求,在对比不同模型的能力时,使用不同的性能度量往往会导致不同的评判结果,因此什么样的模型是好的,不仅取决于算法和数据,还取决于任务需求. 1.错误率和精度 其实说白了就是我们的损失函数所体现的指标,比如常见的在分类问题中分类错误类别所占的比例或者是回归问题中的均方误差等,分别如下面的公式所示 2.查准率.查全率与F1 查准率:查准率表示预测的正例中有多少是真正的正率(也就是你预测正例的准确性) 查全率:查全率表示真是的正例中有多少被准确的

机器学习:模型性能度量(performance measure)(待补充)

对学习器的泛化性能进行评估,不仅需要有效的实验估计方法,还需要有衡量模型泛化性能的评准指标,这就是性能度量.性能度量反应任务需求,对比不同模型能力时,使用不同性能度量能导致不同的评判结果.因此,模型的好坏是相对的,模型不仅取决于算法和数据,还绝对于任务需求. 1. 回归任务中常用的性能度量是"均方误差"(mean squared error) 2. 聚类任务中性能度量分为两类:一类是将聚类结果与某个"参考模型"(reference model)进行比较,成为&quo

基于深度学习的图像语义分割技术概述之5.1度量标准

本文为论文阅读笔记,不当之处,敬请指正. A Review on Deep Learning Techniques Applied to Semantic Segmentation:原文链接 5.1度量标准 为何需要语义分割系统的评价标准? 为了衡量分割系统的作用及贡献,其性能需要经过严格评估.并且,评估须使用标准.公认的方法以保证公平性. 系统的多个方面需要被测试以评估其有效性,包括:执行时间.内存占用.和精确度. 由于系统所处背景及测试目的的不同,某些标准可能要比其他标准更加重要,例如,对于

(新)基于深度学习的图像语义分割技术概述之5.1度量标准

http://blog.csdn.net/u014593748/article/details/71698246 本文为论文阅读笔记,不当之处,敬请指正. A Review on Deep Learning Techniques Applied to Semantic Segmentation:原文链接 5.1度量标准 为何需要语义分割系统的评价标准? 为了衡量分割系统的作用及贡献,其性能需要经过严格评估.并且,评估须使用标准.公认的方法以保证公平性. 系统的多个方面需要被测试以评估其有效性,包

性能度量RMSE

回归问题的典型性能度量是均方根误差(RMSE:Root Mean Square Error).如下公式. m为是你计算RMSE的数据集中instance的数量. x(i)是第i个实例的特征值向量 ,y(i)是其label(期望的模型输出).如下: X是包含了所有实例的特征值(不包含label)的矩阵.每行代表一个实例,并且每行等于x(i)向量的转置:(x(i))T . 下图矩阵中的第一行为2中向量的转置(列向量变为行向量). h是预测函数,当输入是某实例的特征向量x(i) ,应用函数之后,结果为

任务、性能度量和经验

机器学习算法被认为是一种从数据中学习的算法.所谓"学习"有一个定义:''对于某类任务 T 和性能度量 P,一个计算机程序被认为可以从经验 E 中学习是指,通过经验 E 改进后,它在任务 T 上由性能度量 P 衡量的性能有所提升." 下面将对任务.性能度量和经验进行介绍. 1.任务E 从"任务"的相对定义来讲,学习过程不能算成任务,学习能获取一种能力,这种能力可以让我们完成任务.比如我们要让机器人行走,那么行走就是任务. 从机器学习的角度来讲,任务定义为机器

机器学习周志华——学习器性能度量

衡量模型泛化能力的评价标准,就是性能度量(performance measure). (1)错误率与精度 (2)查准率.查全率与F1 基于样例真实类别,可将学习器预测类别的组合划分为真正例(true positive).假正例(false positive).真反例(true negative).假反例(false negative),TP.FP.TN.FN分别表示其对应的样例数,则有TP+FP+TN+FN=样例总数. 查准率P与查全率R分别定义为: P= TP/(TP+FP)=>正例结果中真正