【转载】回归模型的评价指标
[转载]https://www.cnblogs.com/nxf-rabbit75/p/10415812.html
分类问题的评价指标是准确率,那么回归算法的评价指标就是MSE,RMSE,MAE、R-Squared。
分类问题的评价指标是准确率,那么回归算法的评价指标就是MSE,RMSE,MAE、R-Squared。
MSE和MAE适用于误差相对明显的时候,大的误差也有比较高的权重,RMSE则是针对误差不是很明显的时候;MAE是一个线性的指标,所有个体差异在平均值上均等加权,所以它更加凸显出异常值,相比MSE;
RMSLE: 主要针对数据集中有一个特别大的异常值,这种情况下,data会被skew,RMSE会被明显拉大,这时候就需要先对数据log下,再求RMSE,这个过程就是RMSLE。对低估值(under-predicted)的判罚明显多于估值过高(over-predicted)的情况(RMSE则相反)
1、MSE(Mean Squared Error)均方误差
用 真实值-预测值 然后平方之后求和平均。线性回归用MSE作为损失函数
1
2
y_preditc=reg.predict(x_test) #reg是训练好的模型
mse_test=np.sum((y_preditc-y_test)**2)/len(y_test) #跟数学公式一样的
2、RMSE(Root Mean Squared Error)均方根误差
这不就是MSE开个根号么。有意义么?其实实质是一样的。只不过用于数据更好的描述。
例如:要做房价预测,每平方是万元(真贵),我们预测结果也是万元。那么差值的平方单位应该是 千万级别的。那我们不太好描述自己做的模型效果。怎么说呢?我们的模型误差是 多少千万?。。。。。。于是干脆就开个根号就好了。我们误差的结果就跟我们数据是一个级别的,在描述模型的时候就说,我们模型的误差是多少万元。
1
rmse_test=mse_test ** 0.5
3、MAE (Mean absolute Error)平均绝对误差
1
mae_test=np.sum(np.absolute(y_preditc-y_test))/len(y_test)
4、R-Squared
对于回归类算法而言,只探索数据预测是否准确是不足够的。除了数据本身的数值大小之外,我们还希望我们的模型能够捕捉到数据的”规律“,比如数据的分布规律,单调性等等,而是否捕获了这些信息并无法使用MSE来衡量。
来看这张图,其中红色线是我们的真实标签,而蓝色线是我们的拟合模型。这是一种比较极端,但的确可能发生的 情况。这张图像上,前半部分的拟合非常成功,看上去我们的真实标签和我们的预测结果几乎重合,但后半部分的 拟合却非常糟糕,模型向着与真实标签完全相反的方向去了。对于这样的一个拟合模型,如果我们使用MSE来对它 进行判断,它的MSE会很小,因为大部分样本其实都被完美拟合了,少数样本的真实值和预测值的巨大差异在被均 分到每个样本上之后,MSE就会很小。但这样的拟合结果必然不是一个好结果,因为一旦我的新样本是处于拟合曲 线的后半段的,我的预测结果必然会有巨大的偏差,而这不是我们希望看到的。所以,我们希望找到新的指标,除 了判断预测的数值是否正确之外,还能够判断我们的模型是否拟合了足够多的,数值之外的信息。
方差的本质是任意一个值和样本均值的差异,差异越大,这些值所带的信息越多。在R2和EVS中,分子是真实值和预测值之差的差值,也就是我们的模型没有捕获到的信息总量,分母是真实标签所带的信息量,所以两者都衡量 1 - 我们的模型没有捕获到的信息量占真实标签中所带的信息量的比例,所以,两者都是越接近1越好
化简上面的公式 ,分子分母同时除以m,那么分子就变成了我们的均方误差MSE,下面分母就变成了方差
在R2中,分子是真实值和预测值之差的差值,也就是我们的模型没有捕获到的信息总量,分母是真实标签所带的信息量,所以两者都衡量 1 - 我们的模型没有捕获到的信息量占真实标签中所带的信息量的比例,所以,两者都是越接近1越好。
如果结果是 0,说明模型拟合效果很差;
如果结果是 1,说明模型无错误
三种调用方式:
第一种是直接从metrics中导入r2_score,输入预测值和真实值后打分。
第二种是直接从线性回归LinearRegression的接口score来进行调用。
第三种是在交叉验证中,输入"r2"来调用。EVS有两 种调用方法,可以从metrics中导入,也可以在交叉验证中输入”explained_variance“来调用。
5.RMSLE(Root Mean Squared Logarithmic Error)
假如真实值为1000,若果预测值是600,那么RMSE=400, RMSLE=0.510
假如真实值为1000,若预测结果为1400, 那么RMSE=400, RMSLE=0.336
可以看出来在均方根误差相同的情况下,预测值比真实值小这种情况的错误比较大,即对于预测值小这种情况惩罚较大。
当数据当中有少量的值和真实值差值较大的时候,使用log函数能够减少这些值对于整体误差的影响。
假设下图:图的最低点是真实值:3,从图来看,越偏离真实值,误差越大。但偏左边和偏右边误差增长幅度不一样,所以对于skew数据有效。
Scikit-learn中的各种衡量指标
1
2
3
4
5
6
7
from sklearn.metrics import mean_squared_error #均方误差
from sklearn.metrics import mean_absolute_error #平方绝对误差
from sklearn.metrics import r2_score#R square
#调用
mean_squared_error(y_test,y_predict)
mean_absolute_error(y_test,y_predict)
r2_score(y_test,y_predict)
【转载】回归模型的评价指标相关推荐
- 机器学习对回归模型的评价指标:均方误差、可解释方差和R方值
学习过概率与统计的同学们都知道,对于线性回归及其他的回归模型来说,评价连续性可拟合的数据就不能使用离散二分类器的评价指标对回归模型进行评价.因此我们引入了均方误差(mean squared error ...
- 机器学习中分类和回归模型的评价指标
分类算法的效果评估 1,准确率accuracy_score from sklearn.metrics import accuracy_score 2,精确率/查准率precision_score fr ...
- 机器学习——常用的回归模型性能评价指标
对于回归而言,模型性能的好坏主要体现在拟合的曲线与真实曲线的误差.主要的评价指标包括:拟合优度/R-Squared,校正决定系数(Adjusted R-square),均方误差(MSE),均方根误差( ...
- 决定系数 均方误差mse_回归模型评价指标 SSE, MSE、RMSE、MAE、R-SQUARED
分类问题的评价指标是准确率, 常见回归算法的评价指标有SSE, MSE,RMSE,MAE.R-Squared. 误差平方和 SSE(Sum of Squares due to Error) 该统计参数 ...
- 分类与回归机器学习模型的评价指标
分类模型评价指标 缩写 全称 中文名称 Accuracy 准确率 Precision 精确度(查准率) Recall 召回率(查全率) F1 Score F1分数 F-β F-beta(FBeta) ...
- 模型评价 - 回归模型的常用评价指标
回归模型的常用评价指标 样本误差:衡量模型在一个样本上的预测准确性 样本误差 = 样本预测值 - 样本实际值 最常用的评价指标:均误差方(MSE) 指标解释:所有样本的样本误差的平方的均值 指标解读: ...
- 【机器学习】回归模型评价指标原理与基于sklearn的实现
1 前言 回归任务是机器学习中常见的任务,特别是涉及到具体的发电量预测.风力预测等工业任务时,有非常多的应用场景.回归任务不同于分类任务,回归任务的预测值一般是连续的数,分类任务的预测值则是离散的值( ...
- 回归模型评价指标:MSE、RMSE、MAE、R2 score
回归模型评价指标:MSE.RMSE.MAE. R 2 R^2 R2 score 回归模型评价指标:MSE.RMSE.MAE.R2 score 前言 平均绝对误差(MAE) 均方误差(MSE) 均方根误 ...
- 搞懂回归和分类模型的评价指标的计算:混淆矩阵,ROC,AUC,KS,SSE,R-square,Adjusted R-Square
今天看到某同学总结了回归和分类模型的评价指标,两篇博客讲的特别清楚,看完后以前的疑惑都解除了,收获很大,加一点补充,整理出来方便以后查看,蓝色的大标题是原文链接. 回归模型的几个评价指标 对于回归模型 ...
最新文章
- 使用FragmentTabHost和ViewPager实现仿微信主界面侧滑
- aapt2 生成资源 public flag 标记
- 让LoadRunner再次走下神坛
- 表格计算机备份在哪里找,#excle备份在哪#EXCEL里备份文件在哪里找?
- sql server 2005 32位+64位、企业版+标准版、CD+DVD 下载地址大全
- 10分钟了解一致性hash算法
- 超过3000赞的「机器学习路线图」,教你升级打怪全攻略
- dbvisualizer free 9.5.6中文乱码
- Esxi自动化配置脚本
- 未来教育 · 软件破解
- matlab 画x a的直线方程式,matlab画如x=a和y=b这种水平线和垂线的命令是什么,谢谢...
- Word多级标题设置和自动生成目录
- 如何将NFC读卡器库移植到Kinetis K64F微控制器
- 计算机26字母代码表,电脑打字学习:26个汉语拼音字母攻略
- PDF页面旋转怎么操作
- 千万别和女程序员做同事!
- UVM:filed_automation
- 三招教你降低电脑屏幕蓝光对眼睛的危害
- 单元测试和E2E测试
- 《数据结构与面向对象程序设计》第1周学习总结