如何评价模型的好坏(三)

  • 二分类问题
  • 多分类问题
  • 连续变量问题

四、连续变量问题(回归)

(1)距离

(2)残差

(3)残差平方和(SSE): 真实值与预测值之间误差的平方和。

(3-1)均方根误差(MSE = mean square error):真实值与预测值之间误差的平方和的均值。(最小二乘)

1 from sklearn.metrics import mean_squared_error
2 y_true =  [1,3, -0.3, 2, 7,5]
3 y_pred = [0.8,2.5, 0.0, 2, 8, 5.1]
4 mean_squared_error(y_true, y_pred)
  • 均方差越小越好,即最小二乘法。

(4)回归平方和(SSR): 预测值与样本平均值之间误差的平方和。

(5)总偏差平方和(SST): 真实值与样本平均值之间误差的平方和。

  经计算推到,SST = SSE + SSR

(5-1)平均绝对误差(MAE = mean absolute error):真实值与样本平均值之间误差的平方和的均值。

1 from sklearn.metrics import mean_squared_error
2 y_true = [1, 3, -0.3, 2, 7, 5]
3 y_pred = [0.8, 2.5, 0.0, 2, 8, 5.1]
4 mean_squared_error(y_true, y_pred)

(6)R2(r2_score):样本的总偏差平方和中,被回归平方和解释的百分比。 R2 = SSR/SST = 1-SSE/SSR (R2值越大,模型效果越好)

1 from sklearn.metrics import r2_score
2 y_true = [1, 3, -0.3, 2, 7, 5]
3 y_pred = [0.8, 2.5, 0.0, 2, 8, 5.1]
4 r2_score(y_true, y_pred)
  • R越接近1,模型拟合效果越好。
  • R越接近0,模型拟合效果越差。
  • 缺点:数据集越大,R2 越大。因此,不同数据集对同一模型进行测试时,所得的R不一定相同。

(7)中值绝对误差(median_absolute_error)

1 from sklearn.metrics import median_absolute_error
2 y_true = [1, 3, -0.3, 2, 7, 5]
3 y_pred = [0.8, 2.5, 0.0, 2, 8, 5.1]
4 median_absolute_error(y_true, y_pred)

总结:

  • 以上几个指标全部依赖于数据集,当数据集发生变化时,值也随之发生变化。

原文地址:https://www.cnblogs.com/xdliyin/p/10372232.html

时间: 2024-11-09 02:41:58

如何评价模型的好坏(三)的相关文章

单一指标评价模型

对于模型,最重要的就是两个东西 查准率:模型输出为ai中真的是ai的个数 / 模型中输出为ai的个数 查全率:模型中输出为ai的个数 / 真的为ai的个数 那么就想小时候判断运动员成绩的极值和方差一样 我们有时无法判断模型的好坏 那么我们就要用一个单一的指标去评价模型的好坏 设查准率为a, 查全率为b 我们用a, b的调和平均数去评价模型 至于为什么,,,,我也不知道 F1 = 1 / ((1 / a)  + (1 / b) )   =  (a * b) / (a + b) 可能会有其他的因素影

隐马尔科夫模型HMM(三)鲍姆-韦尔奇算法求解HMM参数

隐马尔科夫模型HMM(一)HMM模型 隐马尔科夫模型HMM(二)前向后向算法评估观察序列概率 隐马尔科夫模型HMM(三)鲍姆-韦尔奇算法求解HMM参数(TODO) 隐马尔科夫模型HMM(四)维特比算法解码隐藏状态序列(TODO) 在本篇我们会讨论HMM模型参数求解的问题,这个问题在HMM三个问题里算是最复杂的.在研究这个问题之前,建议先阅读这个系列的前两篇以熟悉HMM模型和HMM的前向后向算法,以及EM算法原理总结,这些在本篇里会用到.在李航的<统计学习方法>中,这个算法的讲解只考虑了单个观测

BEGINNING SHAREPOINT&amp;#174; 2013 DEVELOPMENT 第2章节--SharePoint 2013 App 模型概览 理解三个SharePoint 部署模型 Apps

BEGINNING SHAREPOINT? 2013 DEVELOPMENT 第2章节--SharePoint 2013 App 模型概览 理解三个SharePoint 部署模型 Apps 由于SharePoint 2013 正逐步移动到云,有三类部署模型可用来帮助你完毕这个目标(关于SharePoint Apps): SharePoint-hosted: Autohosted: Provider-hosted: 每一类部署模型都含有特色,使它成为针对不同类型App开发的理想的(选择).以下的部

20150225 IMX257 设备驱动模型之Kobject(三)

20150225 IMX257 设备驱动模型之Kobject(三) 2012-02-25 李海沿 刚才我们整理了一大批乏味的知识点,但是相信大家已经大概的了解了sysfs 的原理了. 这里我们趁热打铁,将前面我们那个似懂非懂的kobject程序一步拿下. 我们这个程序的目的是,在sys目录下面创建一个kboject_test目录和一个名为kobject_test的属性文件,我们可以使用cat去读取其文件名. 前面虽然解释了kobject程序的大概工作流程,这次我们再次详细的说明一下其工作流程,然

BEGINNING SHAREPOINT&#174; 2013 DEVELOPMENT 第2章节--SharePoint 2013 App 模型概览 理解三个SharePoint 部署模型 Apps

BEGINNING SHAREPOINT? 2013 DEVELOPMENT 第2章节--SharePoint 2013 App 模型概览 理解三个SharePoint 部署模型 Apps 因为SharePoint 2013 正逐步移动到云,有三类部署模型可用来帮助你完成这个目标(关于SharePoint Apps): SharePoint-hosted: Autohosted: Provider-hosted: 每一类部署模型都含有特色,使它成为针对不同类型App开发的理想的(选择).下面的部

文本主题模型之LDA(三) LDA求解之变分推断EM算法

文本主题模型之LDA(一) LDA基础 文本主题模型之LDA(二) LDA求解之Gibbs采样算法 文本主题模型之LDA(三) LDA求解之变分推断EM算法 本文是LDA主题模型的第三篇,读这一篇之前建议先读文本主题模型之LDA(一) LDA基础,同时由于使用了EM算法,如果你对EM算法不熟悉,建议先熟悉EM算法的主要思想.LDA的变分推断EM算法求解,应用于Spark MLlib和Scikit-learn的LDA算法实现,因此值得好好理解. 1. 变分推断EM算法求解LDA的思路 首先,回顾L

深入理解JMM(Java内存模型) --(三)顺序一致性

数据竞争与顺序一致性保证 当程序未正确同步时,就会存在数据竞争.Java内存模型规范对数据竞争的定义如下: 在一个线程中写一个变量, 在另一个线程读同一个变量, 而且写和读没有通过同步来排序. 当代码中包含数据竞争时,程序的执行往往产生违反直觉的结果(前一章的示例正是如此).如果一个多线程程序能正确同步,这个程序将是一个没有数据竞争的程序. JMM对正确同步的多线程程序的内存一致性做了如下保证: 如果程序是正确同步的,程序的执行将具有顺序一致性(sequentially consistent)-

thinkphp 3.2中依靠关联模型来关联三个表

这里说的是用thinkphp3.2关联模型关联三个表 根据用户表查询出三个表的数据,需要两个model来配合,第一个model是根据user表来查询到班级的信息,然后第二个model是根绝banji中的信息去查询年级中的信息 还有一个模型也可以做到这种效果,就是视图模型

django模型系统(三)--多对多,一对一以及跨表查询

-Many-to-Many*** 指定了中间表,add,remove,set 都不能用,必须用中间表 两端都可以自动获得另一端的自动API访问.跟一对多的反向访问类似.但是使用的是本字段的字段名 In [112]: Course.objects.create(name='python全栈') Out[112]: <Course: python全栈> In [113]: Course.objects.create(name='python全套') Out[113]: <Course: py