机器学习(四) -- 模型评估(3)

系列文章目录

机器学习(一) -- 概述

机器学习(二) -- 数据预处理(1-3)

机器学习(三) -- 特征工程(1-2)

机器学习(四) -- 模型评估(1-2)

未完待续……


目录

系列文章目录

前言

四、 回归模型评估指标

1、均方误差(Mean Squared Error,MSE)

2、***均方根误差(Root Mean Squared Error,RMSE)

3、***均方对数误差(Mean Squared Log Error,MSLE)

4、平均绝对误差(Mean Absolute Error,MAE)

5、***平均绝对百分比误差(Mean Absolute Percentage Error,MAPE)

6、决定系数(R2,R-square)

7、***校正决定系数(Adjusted R-square)


机器学习(四) -- 模型评估(1)

机器学习(四) -- 模型评估(2)


前言

tips:这里只是总结,不是教程哈。

“***”开头的是给好奇心重的宝宝看的,其实不太重要可以跳过。

此处以下所有内容均为暂定,因为我还没找到一个好的,让小白(我自己)也能容易理解(更系统、嗯应该是宏观)的讲解顺序与方式。

第一文主要简述了一下机器学习大致有哪些东西(当然远远不止这些),对大体框架有了一定了解。接着我们根据机器学习的流程一步步来学习吧,掐掉其他不太用得上我们的步骤,精练起来就4步(数据预处理,特征工程,训练模型,模型评估),其中训练模型则是我们的重头戏,基本上所有算法也都是这一步,so,这个最后写,先把其他三个讲了,然后,在结合这三步来进行算法的学习,兴许会好点(个人拙见)。


衡量模型泛化能力的评价标准就是性能度量(模型评估指标、模型评价标准),而针对不同的任务有不同的评价指标。按照数据集的目标值不同,可以把模型评估分为分类模型评估、回归模型评估和聚类模型评估。

四、 回归模型评估指标

均方误差(MSE)、均方根误差(RMSE)、均方对数误差(MSLE)、
平均绝对误差(MAE)​​​​​​、平均绝对百分比误差(MAPE)、
决定系数(R2,R-square)、校正决定系数(Adjusted R-square)

1、均方误差(Mean Squared Error,MSE)

回归任务最常用的性能度量就是均方误差。是预测数据和原始数据对应点误差的平方和的均值。越小越好。

公式

均方误差存在一个明显的缺陷,
假设,现在有三个样本,它们的预测值与真实值的差分别为 3、4、5,通过均方误差的计算公式,我们可以分别计算出这三个样本的误差为 9、16 和 25;第三个样本的误差等于前两个样本的误差和,也就是说样本的预测值离真实值越远,误差也越大,且增长幅度越来越大。

模型为了降低误差,势必会想办法优先让偏差最大的样本尽可能靠近真实值。换言之,偏差越大的样本对模型的影响也越大,如果这个样本是噪声,那么这对模型的精度产生重大负面影响。简单地说,均方误差对噪声不鲁棒。【鲁棒性(robustness)是指系统或者算法在不同的情况下,仍能够保持稳定和可靠的能力。

就像我们再【数据预处理(2)的2.1.3、3σ法则】中遇到的情况一样噪声数据影响过大。

API

from sklearn.metrics import mean_squared_error

我们用波士顿房价数据集为例,模型选择决策树算法,来测试。

import numpy as np
from sklearn.datasets import load_boston
from sklearn.tree import DecisionTreeRegressor
from sklearn.model_selection import train_test_split# 引入数据集
boston = load_boston()# 划分数据集
x_train, x_test, y_train, y_test = train_test_split(boston.data, boston.target, test_size=0.3, random_state=134)#模型训练
model = DecisionTreeRegressor()
model.fit(x_train, y_train)

from sklearn.metrics import mean_squared_error# 均方误差
mean_squared_error(y_test, model.predict(x_test))

 

2、***均方根误差(Root Mean Squared Error,RMSE)

均方误差开根号。

和MSE一样,对异常点(outliers)较敏感,如果回归器对某个点的回归值很不理性,那么它的误差则较大,从而会对RMSE的值有较大影响,即平均值是非鲁棒的。

公式

代码

代码也很简单,上面那个开个平方就好了。 

# 均方根误差
np.sqrt(mean_squared_error(y_test, model.predict(x_test)))

3、***均方对数误差(Mean Squared Log Error,MSLE)

公式

代码

from sklearn.metrics import mean_squared_log_error# 均方对数误差
mean_squared_log_error(y_test, model.predict(x_test))

4、平均绝对误差(Mean Absolute Error,MAE)

公式

代码

from sklearn.metrics import mean_absolute_error# 平均绝对误差
mean_absolute_error(y_test, model.predict(x_test))

5、***平均绝对百分比误差(Mean Absolute Percentage Error,MAPE)

公式

代码

from sklearn.metrics import mean_absolute_percentage_error# 平均绝对百分比误差
mean_absolute_percentage_error(y_test, model.predict(x_test))

6、决定系数(R2,R-square)

反映因变量的全部变异能通过回归关系被自变量解释的比例。拟合优度越大,自变量对因变量的解释程度越高,自变量引起的变动占总变动的百分比越高,观察点在回归直线附近越密集。
决定系数R2越高,越接近于1,模型的拟合效果就越好。

公式:S^2是方差

代码

from sklearn.metrics import r2_score# 决定系数
r2_score(y_test, model.predict(x_test))

7、***校正决定系数(Adjusted R-square)

公式

代码

r2=r2_score(y_test, model.predict(x_test))n, p = x_test.shape
adjusted_r2 = 1 - ((1 - r2) * (n - 1)) / (n - p - 1)
adjusted_r2

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/326906.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【LMM 011】MiniGPT-5:通过 Generative Vokens 进行交错视觉语言生成的多模态大模型

论文标题:MiniGPT-5: Interleaved Vision-and-Language Generation via Generative Vokens 论文作者:Kaizhi Zheng* , Xuehai He* , Xin Eric Wang 作者单位:University of California, Santa Cruz 论文原文:https://arxiv.org/ab…

优化|流形优化系列(一)

简介 流形优化是非线性优化的一个分支,它主要关注在特定的几何结构下进行优化。在流形优化中,优化问题通常是在黎曼流形上进行的,而非欧几里得空间。黎曼流形是带有黎曼度量的流形,该度量为流形上的每个点都定义了一个内积。这种…

ThreadLocal线程重用导致用户信息错乱的 Bug

在生产上遇到一个诡异的问题,有时获取到的用户信息是别人的。查看代码后,我发现他使用了 ThreadLocal 来缓存获取到的用户信息。 我们知道,ThreadLocal 适用于变量在线程间隔离,而在方法或类间共享的场景。如果用户信息的获取比较…

Diffusion扩散模型学习2:DDPM前向加噪过程torch实现

参考: https://arxiv.org/pdf/2006.11239.pdf ##论文 https://github.com/dtransposed/code_videos/blob/main/01_Diffusion_Models_Tutorial/Diffusion%20Model.ipynb ##code https://spaces.ac.cn/archives/9119 1、红色框: 前向过程论文公式推出可以从x0原图一步到最终噪声…

软测思考题:自动化测试重运行是好是坏?

测试失败时会发生什么? 如果有人手动运行测试,那么他们会暂停并了解更多信息。但是,当自动测试失败时,其余部分可能会继续运行。在套件完成之前,你是没有办法看到测试报告的,并且自动化程序不会在故障时执…

算法训练第六十天|84.柱状图中最大的矩形

84.柱状图中最大的矩形: 题目链接 给定 n 个非负整数,用来表示柱状图中各个柱子的高度。每个柱子彼此相邻,且宽度为 1 。 求在该柱状图中,能够勾勒出来的矩形的最大面积。 示例 : 输入:heights [2,1,5,6,2,3] 输出…

Pytest的测试报告——Allure

一、html-report测试报告 html-report测试报告。是pytest下基本的测试报告。要使用pytest-html测试报告,就要确保python版本在3.6及以上即可。本身pytest所提供的测试结果汇总,是基于控制台的文本输出形式。 pytest-html是基于HTML格式实现的测试报告的…

期货日数据维护与使用_日数据维护_合约更新

目录 写在前面 下载最新合约列表 “选择合约所在目录”按钮点击 “执行”按钮点击 sqlite3代码 按钮点击后执行的代码 子线程代码 “新增合约json下载”按钮点击 “追加合约json下载”按钮点击 写在前面 本文默认已经创建了项目,如果不知道如何创建一个…

C++: 求1+2+3+...+n

int i 1; int sum 0; class Sum { public:Sum(){sum i;i;} };class Solution { public:int Sum_Solution(int n) {Sum a[n]; //调用n次sum的构造函数return sum;} };

imazing破解版百度云2.17.3(附激活许可证下载)

iMazing是一款强大的 iOS 设备管理软件,不管是 iPhone、iPad 或 iPod Touch 设备,只要将 iOS 设备连接到计算机,就可以处理不同类型的数据。 iPhone 和 iPad 备份 借助 iMazing 的独有 iOS 备份技术(无线、隐私和自动&#xff09…

HTML5大作业-精致版个人博客空间模板源码

文章目录 1.设计来源1.1 博客主页界面1.2 博主信息界面1.3 我的文章界面1.4 我的相册界面1.5 我的工具界面1.6 我的源码界面1.7 我的日记界面1.8 我的留言板界面1.9 联系博主界面 2.演示效果和结构及源码2.1 效果演示2.2 目录结构2.3 源代码 源码下载 作者:xcLeigh …

im6ull学习总结(三-3)freetype

1、Freetype简介 FreeType是一个开源的字体渲染引擎,主要用于将字体文件转换为位图或矢量图形,并在屏幕上渲染出高质量的字体。它提供了一组API,使开发者能够在自己的应用程序中使用和呈现字体。 FreeType最初是作为一个独立项目开发的&…