机器学习的评价指标决定系数的理解

[已解决] 决定系数R2为何为负 from sklearn.metrics import r2_score 决定系数R2为何为负 from sklearn.metrics import r2_score 阅读详情
AI摘要

本文探讨了在深度学习中使用R2决定系数的差异,介绍了两种计算方法,强调了非线性模型下结果不一致的原因,并讨论了异常值的可能来源。此外,作者澄清了R2与相关系数、斜率平方的区别,以及在选择评价指标时的建议。

问题引入

在做机器学习时,需要做模型的优劣进行合理评价。其中MSE,MAPE等评价指标是从数值层面评价模型的精确程度,而R2(2是右上角标,不会设置)可以从统计学角度,整体评估模型的拟合优度。这里的R2称为决定系数,有的地方称为判定系数。但是在做深度学习模型时,笔者尝试用两种方式计算决定系数,但是计算获取的答案不一致,因此展开探究。

决定系数的数学定义

在这里插入图片描述
其实我们从宏观意义的层面去理解,可以发现,SSR是预测数组与真实均值的波动差距和,SST是真实的方差,大致意思就是你的模型的预测数组能否达到数据本身的波动程度,或者是达到百分之多少。越靠近1当然越好。
在这里插入图片描述

深度学习中的决定系数

那在深度学习中,决定系数也是可以在一定程度上表征模型拟合程度的。但是在用图1中的两种算法计算决定系数时,发现计算结果不一致。代码如下:

def r2_ob(y_actual, y_predicted):
    sse = np.sum((y_actual - y_predicted) ** 2)
    ssr = np.sum((y_predicted - np.mean(y_actual)) ** 2)
    sst = np.sum((y_actual - np.mean(y_actual)) ** 2)
    r2 = ssr / sst  # 第二种算法是1-sse/sst
    return r2

当然更加简洁的算法是直接利用sklearn中的r2_score()直接进行计算,值得注意的是,这个函数默认是利用第二种算法计算的:

train_r2 = r2_score(train_true_y, train_pre_y)

在深度学习模型中(如神经网络回归预测),两种算法的结果并不一致。根本原因在于图1第三个等号能够成立的前提是线性模型,具体的原因和详细的推导可以参考其他的博客和资料。深度学习模型的典型特征就是非线性,因此导致两个算法计算出来的决定系数不相同,这也是很多资料里提到决定系数大多适用于机器学习模型(狭义的机器学习模型),如岭回归,支持向量机等。有的小伙伴会问,这些机器学习模型好像也不是线性的把,这里的线性又是广义的线性,包含高次幂的多项式。
那又有小伙伴问了,那在做深度学习模型中,到底用哪一个呢?我的建议是第一个,但是跟随你的模型,用哪个都可以,前提是把公式写清楚,别张冠李戴了,那就是学术错误了。

深度学习中决定系数的奇怪现象

一般而言,决定系数范围为:[0,1],但是有时会有很多不在正常范围的数值。如果你的模型很奇怪,就有可能预测数组的相对波动程度还大于真实方差,在第一种算法中,表现在决定系数上就是决定系数大于1了;在第二种算法中,决定系数就为负数了。所以如果你的深度学习模型出现了这些数值,那就是你的模型波动幅度太厉害了,看看是不是以下情况:1.网络太复杂,过拟合了;2.数据量太小;3.数据分布不平衡,测试集的真实数据波动明显比训练集小。

深度学习中其他容易与之混淆的评价指标

有人说R2,是不是相关系数r的平方啊。答案并不是,因为这两个指标完全是从两个不同的统计学层面去考虑和计算的。当然预测值和真实值的相关性也可以作为模型评价指标啊:

train_r = np.corrcoef(train_true_y, train_pre_y)
train_r = train_r.reshape(4, 1)
train_r = train_r[1]  # 获取相关性矩阵中的r值

又有人说R2,(人有点多)是不是预测值和真实值线性拟合时的斜率的平方啊。答案也不是,这也是不同的统计学角度。但是搞过深度学习模型的小伙伴知道,一般我们要把真实值作为x轴,预测值为y轴,进行线性拟合,用Origin画个图,放在论文里面,一般会有拟合的斜率。这个值和相关性接近,但仍是不同,论文里也可以提这个数值。
在这里插入图片描述

结语

这些概念都很相似,容易弄混,在此记录一下,也希望帮助到一些像前几天在寻寻觅觅的我一样的小童靴,如有异议,可以在评论区提,提了我也不一定回,哈哈哈

统计学 决定系数(Coefficient of Determination) 和 相关系数 (Correlation of Coefficient ) 在对数据进行线性回归计算之后,我们能够得出相应函数的系数, 那么我们如何知道得出的这个系数对方程结果的影响有强呢? 所以我们用到了一种方法叫 coefficient of determination (决定系数) 来判断 回归方程 拟合的程度. 首先我们先定义几个概念 1. Sum Of Squares Due To Error  对于第i个观察点, 真实数据的Yi与估 阅读详情

相关推荐

机器学习-模型决定系数

决定系数决定系数反应了y的波动有多少百分比能被x的波动所描述,即表征依变数Y的变异中有多少百分比,可由控制的自变数X来解释.表达式:R2=SSR/SST=1-SSE/SST其中:SST=SSR+SSE,SST(total sum of squares)为总平方和,SSR(regression sum of squares)为回归平方和,SSE(error sum of squares) 为残差平方

jiangjiane 5762

【机器学习】决定系数(R²:Coefficient of Determination)

决定系数,也称为 R平方,是一种用于衡量回归模型预测效果的统计指标。它表示了模型解释目标变量总变异的程度,数值介于 0 和 1 之间,数值越接近 1 表明模型的解释力越强。

IT古董 2万+

机器学习之评价指标(一)——回归评价指标

CV nlp

itlilyer的博客 1978

多项式回归、R2 和 RMSE

R2(决定系数)和RMSE(均方根误差)是常用的回归模型评估指标,用于衡量模型对观测数据的拟合程度和预测精度。R2(决定系数): R2 表示模型对因变量的解释能力,取值范围从 0 到 1,越接近 1 表示模型对数据的拟合程度越好。计算公式为: R2 = 1 - (SSR / SST) 其中,SSR 是回归平方和(Sum of Squares of Residuals),表示回归模型的拟合误差;SST 是总平方和(Total Sum of Squares),表示总体数据的离散程度。

March_A的博客 2万+

深入理解MOT评价指标

之前一直对其多目标跟踪的评价指标一知半解,今天记录一下其具体的算法细节,不当之处请大家一定要指正! MOTA ( Multiple Object Tracking Accuracy) MOTA可以算是MOT中最重要的一个指标,其计算公式都耳熟能详了,如下: 其中GTtGT_{t}GTt​表示第t帧中Ground truth的个数,FTtFT_{t}FTt​表示第t帧中漏检的个数,FPtFP_{t}FPt​表示第t帧中虚检的个数,IDSWtIDSW_{t}IDSWt​表示第t帧中轨迹的id号发生转变的个数。

jackzhang11的博客 1万+

机器学习中的评价指标(分类指标评Accuracy、Precision、Recall、F1-score、ROC、AUC )(回归指标评价MSE、RMSE、MAE、MAPE、R Squared)

文章目录1.机器学习中的评价指标基础(一)分类指标评价1.Accuracy2.Precision、查准率3.Recall、查全率4.F1-score举个例子:5.ROC6.AUC(二)回归指标评价1.均方误差(MSE)2.均方根误差(RMSE)3.MAE(平均绝对误差)4.MAPE5.R Squared 1.机器学习中的评价指标 简要介绍精度、精确率、召回率、P-R曲线、F1 值、TPR、FPR、...

youif的博客 7170

回归评价指标:MSE、RMSE、MAE、MAPE、R2公式理解及代码实现

目录 预先假设: 平均绝对误差(MAE) 均方误差(MSE)均方根误差(RMSE) MAE:平均绝对误差;MAPE:平均绝对百分比误差 R2(R-Square)决定系数 通过sklearn库实现5种评价指标 预先假设: 平均绝对误差(MAE) 平均绝对误差(Mean Absolute Error) 范围[0,+∞),当预测值与真实值完全吻合时等于0,即完美模型;误差越...

haosen 11万+

机器学习之分类与回归的常见评价指标

详细介绍了机器学习中分类和回归算法的常见评价指标,如分类问题的精确率、准确率、召回率、F1值及ROC曲线;回归问题的决定系数、均方误差、平均绝对误差等。利用python实现评价指标的计算。

m0_69435474的博客 3806

学习机器学习二 模型评估指标

我有好几本跟机器学习和深度学习有关的书籍,想先复习机器学习,觉得这书挺适合刚入门的,理论没有很深,还有很多实例操作,写起笔记要简单一些。笔记一使我们产生了对机器学习的基础认识,大概明白它是怎么一个事。现在接着深入一点的学习之前的一些基础点,进而牵发出更多的学习内容。机器学习问题三大类:监督学习、非监督学习和强化学习。其中作者重点讲了下这个监督学习,我自己也觉得三类中监督学习似乎更发挥机器学习的魅力...

TOTOLOG的博客 883

机器学习的回归评价指标

回归评价指标 回归类算法的模型评估一直都是回归算法中的一个难点,但不像无监督学习算法中的轮廓系数等等评估指标,回归类与分类型算法的模型评估其实是相似的法则——找真实标签和预测值的差异。只不过在分类型算法中,这个差异只有一种角度来评判,那就是是否预测到了正确的分类,而在回归类算法中,有两种不同的角度来看待回归的效果: 第一,是否预测到了正确的数值。 第二,是否拟合到了足够的信息。 这两种角度,分别对应着不同的模型评估指标。 角度一、是否预测了正确的数值 回忆一下RSS残差平方和,它的本质是预测值与真实值之间的

qq_39777550的博客 8997

机器学习进行回归任务的评价指标

在不同类型的回归任务中选择最合适的评价指标,需要根据具体任务的需求和数据的特性来决定

weixin_57332529的博客 1985

机器学习评价指标

目录 1 分类 1.1精确率与召回率 1.2 ROC和AUC 1.3对数损失 1.4 铰链损失(Hinge loss) 1.5混淆矩阵 1.6kappa系数 1.7 准确率 1.8海明距离 1.9杰卡德相似系数 1.10多标签排序 1.10.1涵盖误差 1.10.2 标签排序平均精度 1.10.3 排序误差 2拟合 2.1平均绝对误差 2.2...

weixin_39910711的博客 2万+

机器学习-各类学习器评价指标

一、各类学习器评价指标 机器学习是借助算法模型来解析数据,并从中学习,然后对真实世界中事件作出决策或预测的方法。根据是否提供数据的分类结果(数据的标签),可将机器学习方法分为两大类:监督学习(如分类和回归方法),无监督学习(如聚类方法)。 在利用机器学习方法对问题作出决策和预测后,我们需要对结果进行评价,此时我们应选择合适的评价指标,不同的学习器相应的指标体系也有差异: 分类模型:准确率、ROC-...

MsSpark的博客 2414

机器学习中常见的评价指标总结

1. 评价指标的种类2. 分类任务的评价指标2.1 分类任务的一些概念(1) 交并率(IoU, Intersection over Union)(2)TP、FP、FN、TN与混淆矩阵2.2 准确率(Accuracy)2.3 精确率与召回率(Precision , Recall)2.4 F1分数2.5 G分数2.6 AP和mAP2.7 ROC与AUC(1)ROC(2)AUC3. 回归任务的评价指标3.1 MSE3.2 MAE3.3 RMSE

非晚非晚的博客 1万+

MacBook用户必看:用Homebrew一键搞定frp内网穿透(含阿里云配置模板)

本文为MacBook用户提供基于Homebrew的frp内网穿透实战指南,详细介绍了从环境准备到阿里云服务器配置的全过程。通过Homebrew一键安装frp客户端,结合阿里云配置模板,实现高效稳定的内网穿透,适用于远程开发、IoT设备调试等多种场景。

weixin_28692817的博客 322

一篇讲透:豆包、元宝、DeepSeek、Kimi、WorkBuddy,职场里到底怎么分工

这篇文章深入分析了当前主流AI工具(WorkBuddy、豆包、腾讯元宝、DeepSeek、Kimi)的特点和使用场景,帮助读者根据不同工作需求选择合适的AI助手。核心观点包括: AI工具各有所长:豆包适合快速创作初稿,元宝擅长信息检索整理,DeepSeek强于逻辑分析,Kimi专精文本处理,WorkBuddy则更适合任务推进和成果交付。 使用前需明确需求:是要创意发散、信息整理,还是任务执行?不同阶段应选用不同工具组合。 提供了6个具体职场场景的解决方案,包括文章创作、课程设计、会议纪要等,并给出详细的操作

weixin_39284145的博客 1万+

机器学习模型常用模型评价指标总结

对于机器学习模型,评价模型的好坏是十分重要的一环,不同的任务对应的评估指标也有所差异,以更好的评价和比较模型的优劣。诸如分类(classification)、回归(regression)、排序(ranking)、聚类(clustering)、主题模型(topic modeling)等。本文则对不同场景的评估指标进行总结梳理

积跬步,慕至千里的博客 3823

Windows 下 Codex MCP 服务配置全攻略:从环境搭建到实战避坑

本文详细介绍了在Windows系统下配置Codex MCP服务的完整流程与实战避坑指南。内容涵盖从Node.js环境搭建、Codex CLI安装,到核心配置文件config.toml的编写与解析,并重点解决了Windows平台特有的环境变量设置、MCP服务启动命令适配等关键难点,帮助开发者顺利完成从环境准备到编辑器插件连接的整个配置过程。

weixin_28826545的博客 2077

机器学习的回归评价指标——总结

机器学习的回归评价指标 回归类算法的模型评估一直都是回归算法中的一个难点,但不像无监督学习算法中的轮廓系数等等评估指标,回归类与分类型算法的模型评估其实是相似的法则——找真实标签和预测值的差异。只不过在分类型算法中,这个差异只有一种角度来评判,那就是是否预测到了正确的分类,而在回归类算法中,有两种不同的角度来看待回归的效果: 第一,是否预测到了正确的数值。 第二,是否拟合到了足够的信息。 这两种角度,分别对应着不同的模型评...

Fighting Hua 6832

【详细】芯片设计全流程(包括每个流程需要用到的工具以及需要参与的工作人员)

一颗芯片的诞生经历了设计、制造和测试(分别对应集成电路产业链的设计业、制造业和封测业),而每一步都包含了复杂的步骤和流程。 图0-1 集成电路产业链 现在,我们重点介绍芯片设计的全流程以及每个流程需要用到的设计工具和需要参与的工作人员。 一、IC设计分类 首先对IC设计的分类做个介绍,如图1-1所示。 图1-1 IC设计分类 如图1-1所示,IC设计可以粗分为数字IC设计和射频/模拟IC设计,数字IC设计又可分为ASIC设计和FPGA/CPLD设计,此外还有一部分IC设计.

qq_36045093的博客 8万+

【智能制造】- APS系列|05 APS 排产的五大底层算法逻辑

很多人误以为APS只是给生产工单排先后顺序,实则整套系统依托成熟算法体系,完成多维度约束下的最优生产决策在制造业数字化排产普及的当下,依旧有不少制造管理者对APS存在认知误区,将其等同于简易工单排序工具。事实上,专业级高级计划与排程系统,早已脱离单纯按时间排序的基础功能,而是依托一整套成熟完善的底层算法逻辑,整合现场各类生产限制条件,在海量变量中自动推演、筛选、输出最贴合企业经营目标的生产方案。

qq_40821260的博客 436

机器学习常见评价指标

在建模的时候,不论是一般机器学习还是深度学习,都要有评价指标进行模型效果的衡量,评价指标是对于一个模型效果的数值型量化。一般来说,评价指标分为分类问题和回归问题,本文分别介绍了两类问题的评价指标。...

土豆同学的博客 4376

面向元数据的 SAP UI 中枢:namespace sap.ui.mdc 全景解析

如果把应用前端比作一条数据到交互的装配线,sap.ui.mdc 就是那条线的标准化工装:以 PropertyInfo 描述原料,以 Delegate 定义装配方法,以 p13n 与 VariantManagement 交付面向个体的最终产物;而 Condition Model、Operator 与 ValueHelp 则让输入与筛选的语义落地。与 OData V4 服务与 Fiori Elements 宏构件组合使用时,它能在保持一致体验的同时,给自由式开发者留下足够的可编排空间。

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 240

【机器学习】回归模型评价指标

学习总结#模型训练好之后,对其进行评价是十分必要的。对于回归模型的性能评价,主要是通过衡量模型预测值与实际值之间的差异来实现的。

CXY819394的博客 2462

在 ABAP 平台上搭建 OAuth 2.0 Server:架构、流程、权限与落地实战

摘要:本文为SAP ABAP开发人员提供将ABAP平台配置为OAuth 2.0授权服务器的实战指南。重点介绍两种授权流程(授权码和SAML Bearer)的实现方案,包括核心事务配置(SOAUTH2/SAML2)、授权对象(S_SCOPE)管理以及端点交互规范。通过具体配置清单和三类典型集成场景(第三方Web应用访问OData、企业集成平台调用、BTP应用对接)的落地示例,帮助读者快速构建安全的OAuth 2.0服务架构。文档强调SSL/TLS基础安全、scope最小授权原则以及授权与令牌端点的标准交互模式

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 313

解决com.alibaba.druid.pool.GetConnectionTimeoutException: wait millis 60027, active 20, maxActive 20错误

全网详细解决com.alibaba.druid.pool.GetConnectionTimeoutException: wait millis 60027, active 20, maxActive 20, creating 0, createErrorCount 24的错误

念兮为美 417
上一篇: Comsol建模部分域的材料(如空气)属性无法被定义问题
下一篇: tensorflow-gpu的使用及遇到的各种问题
little_cosset
博客等级 码龄7年 22粉丝 9原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值