【机器学习300问】43、回归模型预测效果明明很好,为什么均方根误差很大?

本文主要是介绍【机器学习300问】43、回归模型预测效果明明很好,为什么均方根误差很大?,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

一、案例描述        

        假设我们正在构建一个房地产价格预测模型,目标是预测某个城市各类住宅的售价。模型基于大量房屋的各种特征(如面积、地段、房龄、楼层等)进行训练。 回归模型在大部分情况下对于住宅价格预测非常精准,用户反馈也非常好,模型的实际预测能力在业界得到了认可。但RMSE指标却依旧很高这是为什么?

二、原因分析

        均方根误差(Root Mean Square Error, RMSE)是机器学习中广泛使用的衡量预测模型准确度的标准之一。它通过计算预测值与真实值之间差异的平方平均值的平方根来量化模型预测的平均偏差。通常情况下,较低的RMSE意味着模型有更好的预测性能。下面是他的计算公式:

RMSE = \sqrt{\frac{1}{n} \sum_{i=1}^{n} (y_i - \hat{y}_i)^2}

符号解释
n真实值的总数
y_ii个真实值
\hat{y}_ii个预测值
(y_i - \hat{y}_i)^2i个真实值与预测值之间的误差的平方,用来消除误差的正负号影响
\sum_{i=1}^{n} (y_i - \hat{y}_i)^2所有残差平方的总和

        案例原因:大多数房屋的价格都在一个合理的区间内变动,但如果有少数几个极其昂贵或极其便宜的离群点(例如,异常低价的房源或超级豪宅),模型很可能对这些点的预测误差极大。将这些误差平方后纳入总误差的计算中,会明显增大总的误差平方和,而开平方是在计算完平方和之后才进行的,所以这会显著提高均方根误差。

三、解决方案 

 (1)离群值检测与处理

        可以采用诸如Z-score、IQR(四分位数范围)等方法检测离群值,并根据具体情况选择删除、替换(如使用邻近值填充、插值等方法)离群点或者保留(如果离群值是有意义的真实信息)。

(2)选择更合适的评估指标

        对于存在大量离群点且其重要性不如其他大部分数据的情况,可考虑使用MAPE(平均绝对百分比误差)等对离群值不那么敏感的评价指标。

MAPE = \frac{1}{n} \sum_{i=1}^{n} \left| \frac{y_i - \hat{y}_i}{y_i} \right| \times 100\%

符号解释
n真实值的总数
y_ii个真实值
\hat{y}_ii个预测值
|y_i - \hat{y}_i|i个真实值与预测值之间的误差的绝对值
\left| \frac{y_i - \hat{y}_i}{y_i} \right|计算每个点的百分比误差
\frac{1}{n} \sum计算所有百分比误差的平均值

【注】MAPE 的结果是一个百分比数值,它表示预测误差占实际值的比例平均值。MAPE 越小,说明预测精度越高。然而,需要注意的是,MAPE 对于真实值接近零的情况非常敏感,当有少量实际值接近或等于零时,会导致 MAPE 计算结果异常增大,引入一个小的常数以避免零分母的情况。

(3)分层建模

        根据数据特点,可以考虑为不同类型的房源(如普通住宅和豪华别墅)分别建立模型,或者在同一个模型中引入类别变量来调整对不同类型的响应。

这篇关于【机器学习300问】43、回归模型预测效果明明很好,为什么均方根误差很大?的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/835945

相关文章

Golang的CSP模型简介(最新推荐)

《Golang的CSP模型简介(最新推荐)》Golang采用了CSP(CommunicatingSequentialProcesses,通信顺序进程)并发模型,通过goroutine和channe... 目录前言一、介绍1. 什么是 CSP 模型2. Goroutine3. Channel4. Channe

基于Python实现PDF动画翻页效果的阅读器

《基于Python实现PDF动画翻页效果的阅读器》在这篇博客中,我们将深入分析一个基于wxPython实现的PDF阅读器程序,该程序支持加载PDF文件并显示页面内容,同时支持页面切换动画效果,文中有详... 目录全部代码代码结构初始化 UI 界面加载 PDF 文件显示 PDF 页面页面切换动画运行效果总结主

React实现原生APP切换效果

《React实现原生APP切换效果》最近需要使用Hybrid的方式开发一个APP,交互和原生APP相似并且需要IM通信,本文给大家介绍了使用React实现原生APP切换效果,文中通过代码示例讲解的非常... 目录背景需求概览技术栈实现步骤根据 react-router-dom 文档配置好路由添加过渡动画使用

Python基于火山引擎豆包大模型搭建QQ机器人详细教程(2024年最新)

《Python基于火山引擎豆包大模型搭建QQ机器人详细教程(2024年最新)》:本文主要介绍Python基于火山引擎豆包大模型搭建QQ机器人详细的相关资料,包括开通模型、配置APIKEY鉴权和SD... 目录豆包大模型概述开通模型付费安装 SDK 环境配置 API KEY 鉴权Ark 模型接口Prompt

使用Python实现生命之轮Wheel of life效果

《使用Python实现生命之轮Wheeloflife效果》生命之轮Wheeloflife这一概念最初由SuccessMotivation®Institute,Inc.的创始人PaulJ.Meyer... 最近看一个生命之轮的视频,让我们珍惜时间,因为一生是有限的。使用python创建生命倒计时图表,珍惜时间

HarmonyOS学习(七)——UI(五)常用布局总结

自适应布局 1.1、线性布局(LinearLayout) 通过线性容器Row和Column实现线性布局。Column容器内的子组件按照垂直方向排列,Row组件中的子组件按照水平方向排列。 属性说明space通过space参数设置主轴上子组件的间距,达到各子组件在排列上的等间距效果alignItems设置子组件在交叉轴上的对齐方式,且在各类尺寸屏幕上表现一致,其中交叉轴为垂直时,取值为Vert

Ilya-AI分享的他在OpenAI学习到的15个提示工程技巧

Ilya(不是本人,claude AI)在社交媒体上分享了他在OpenAI学习到的15个Prompt撰写技巧。 以下是详细的内容: 提示精确化:在编写提示时,力求表达清晰准确。清楚地阐述任务需求和概念定义至关重要。例:不用"分析文本",而用"判断这段话的情感倾向:积极、消极还是中性"。 快速迭代:善于快速连续调整提示。熟练的提示工程师能够灵活地进行多轮优化。例:从"总结文章"到"用

大模型研发全揭秘:客服工单数据标注的完整攻略

在人工智能(AI)领域,数据标注是模型训练过程中至关重要的一步。无论你是新手还是有经验的从业者,掌握数据标注的技术细节和常见问题的解决方案都能为你的AI项目增添不少价值。在电信运营商的客服系统中,工单数据是客户问题和解决方案的重要记录。通过对这些工单数据进行有效标注,不仅能够帮助提升客服自动化系统的智能化水平,还能优化客户服务流程,提高客户满意度。本文将详细介绍如何在电信运营商客服工单的背景下进行

【前端学习】AntV G6-08 深入图形与图形分组、自定义节点、节点动画(下)

【课程链接】 AntV G6:深入图形与图形分组、自定义节点、节点动画(下)_哔哩哔哩_bilibili 本章十吾老师讲解了一个复杂的自定义节点中,应该怎样去计算和绘制图形,如何给一个图形制作不间断的动画,以及在鼠标事件之后产生动画。(有点难,需要好好理解) <!DOCTYPE html><html><head><meta charset="UTF-8"><title>06

学习hash总结

2014/1/29/   最近刚开始学hash,名字很陌生,但是hash的思想却很熟悉,以前早就做过此类的题,但是不知道这就是hash思想而已,说白了hash就是一个映射,往往灵活利用数组的下标来实现算法,hash的作用:1、判重;2、统计次数;