网易首页 > 网易号 > 正文 申请入驻

在机器学习回归问题中,你应该使用哪种评估指标?R,RMSE, MAE

0
分享至

如果你像我一样,你可能会在你的回归问题中使用R平方(R平方)、均方根误差(RMSE)和均方根误差(MAE)评估指标,而不用考虑太多。

尽管它们都是通用的度量标准,但在什么时候使用哪一个并不明显。

R方(R)

R代表模型所解释的方差所占的比例。

R是一个相对度量,所以您可以使用它来与在相同数据上训练的其他模型进行比较。你可以用它来大致了解一个模型的性能。

我们看看R轴是怎么计算的。向前!

这是一种表示R的方法。

1 - (SSE/SST)

SSE是误差的平方和;实际值与预测值之差的平方和。

SST为总平方和(有时用TSS表示);实际值与实际均值之差的平方之和实际值与实际均值之差的平方之和。

用更数学的符号:

1 - (∑(y - ) / ∑(y - y))

下面是代码的样子——改编自scikit-learn,主要的Python机器学习库。

numerator = ((y_true - y_pred) ** 2).sum() denominator = ((y_true - np.average(y_true)) ** 2).sum()r2_score = 1 - (numerator / denominator)

用文字描述:

分子:

用实际的y值减去预测值求平方再求和

分母

用每个y值减去实际y值的均值求平方再求和

1 -分子/分母就是R方

R 是scikit-learn回归问题的默认度量。如果你想显示地使用它,你可以导入它,然后像这样使用:

from sklearn.metrics import r2_score r2_score(y_true, y_pred)

R分数越高越好。

然而,如果你的R对你的测试集是1,你可能是泄漏信息或要简单的问题对于模型太简单了。

在一些领域,如社会科学,有许多因素影响人类的行为。假设你有一个只有几个自变量的模型结果R接近0.5。您的模型能够解释数据中一半的方差,这是非常好的。

R有可能是负的。当模型拟合数据的预测低于输出值的平均值时,就会出现负分数。每次预测平均值都是一个空模型。

假设您有以下小测试数据集:

这是实际和预测的y值。

模型的R值是0。71。模型占数据方差的71%。虽然我们希望得到更多的测试数据,但这还不算太寒酸。

另一个例子,假设y的真实值是[55,2,3]均值是20。预测每个y值为20,结果R方差为0。

对上述真值进行预测[1,2,2]的模型得出的R值为-0.59。最重要的是,您可以做得比null模型糟糕得多!事实上,你可以预测更坏的情况,结果是一个无穷小的R方。

简而言之,让我们看看调整后的R和机器学习与统计数据。调整后的R说明增加了更多的预测变量(特征)。

当一个新的预测变量对模型性能的改善超过预期时,调整后的R只会随着该变量的增加而增加。调整后的R有助于您集中精力使用最节省的模型。

调整后的R在统计推断中比在机器学习中更常见。scikitlearn是用于机器学习的主要Python库,甚至没有调整过的R度量。Statsmodels是Python的主要统计库。如果您想进一步了解何时使用哪个Python库进行数据科学,我在这里编写了一个指南。

如果知道特征列的数量(p)和观察值的数量(n),就可以计算调整后的R2。代码如下:

adjusted_r2 = 1 — ((1 — r2) * (n — 1)) / ( n — p — 1)

n-1是自由度。每当你听到这个词,你就知道你在统计学领域。在机器学习中,我们通常最关心的是预测能力,因此R比调整后的R更受青睐。

关于统计学与机器学习的另一个注意事项:我们的重点是机器学习,所以预测而不是因果关系。R-以及我们将要看到的其他指标,不要单独谈论因果关系。

R告诉您模型所占的方差。它很方便,因为任何回归问题的R将立即提供一些(有限的)对模型性能的理解。

R是一个相对度量。现在让我们看看一些绝对的指标。

均方根误差(RMSE)

RMSE是一种非常常见的评价指标。它的范围可以是0到无穷大。值越低越好。要保持这一点,请记住名称中有错误,并且您希望错误率较低。

RMSE的公式如下:SSE平方根我们在R得分指标中看到了SSE。它是误差平方和;实际值和预测值的平方差之和。更多数学公式:(1/n*(∑(y-))的平方根Python代码:

np.sqrt(np.mean((y_true - y_pred) ** 2))

从实际y值中减去预测值,将结果平方求和,取平均值,取平方根以下是如何使用scikit learn中的函数获取RMSE:

from sklearn.model_selection import mean_squared_error mean_squared_error(y_true, y_pred, squared=False)

从scikit learn版本0.22.0开始,可以使用squared=False参数。在此之前,你必须自己这样取平方根:np.sqrt(mean_squared_error(y_actual, y_predicted)

如果您想:

1. 惩罚大错误

1. 结果是否与结果变量的单位相同

1. 使用可快速计算的损失函数进行验证

你可以使用无根的均方误差(MSE),但是单位就不那么容易理解了。取MSE的平方根,得到RMSE。

RMSE不一定随误差的方差而增加。RMSE随误差大小频率分布的变化而增大

此外,RMSE也不容易解释。这些单位可能看起来很眼熟,你不能简单地说RMSE为10意味着你平均减少了10个单位,尽管这是大多数人对结果的看法。至少,我以前是这样的。

再看看我们的示例数据集:

RMSE为0.48。实际y值的平均值为2.2。总之,这些信息告诉我们,这个模型可能介于伟大和可怕之间。如果没有更多的上下文,很难用这个RMSE统计数据做太多。

RMSE是一种不完善的评价统计量,但它很常见。如果你很在意惩罚大错误,这不是一个坏的选择。当超参数整定或批量训练深层神经网络时,它是一个很好的选择。

平均绝对误差(Mean Absolute Error)

平均绝对误差(MAE)是误差绝对值的平均值。

(1 / n) * (∑ |y - |)

代码

np.average(np.abs(y_true - y_pred))

用文字表述从实际y值中减去预测值,取每个误差的绝对值,求和,取平均值

以下是如何使用scikitlearn函数获取MAE:

from sklearn.model_selection import mean_absolute_error mean_absolute_error(y_actual, y_predicted, squared=False)

从概念上讲,MAE是回归问题最简单的评估指标。它回答了这样一个问题:“你的预测平均相差多远?”

这些单位很直观。对!

例如,假设您正在预测房屋销售价格,测试集中的平均实际销售价格为500000美元。MAE为10000美元意味着该模型的预测值平均下降了1万美元。不错啊!

与RMSE评分不同,糟糕的预测不会导致过高的MAE分数,或者总是比RMSE更接近0。

注意,MAE的计算速度不如RMSE快,因为它是一个带有训练循环的模型的优化指标。

最后一次看我们的示例数据集:

MAE是0.37。这些预测与平均值2.2的偏差平均为0.37。我很快就能理解这种说法。

顺便说下:RMSE为0.48,R为0.71。

MAE是最简单、最容易解释的评价指标。如果你不想让一些遥远的预测压倒很多接近的预测,那么这是一个很好的度量标准。如果你想惩罚那些偏离目标很远的预测,这是一个不太好的选择。

总结

那么您应该使用哪种度量标准呢?总的来说,有以下三点!

R使评估性能的人员可以对模型的性能有一个直观的了解。

RMSE不太容易理解,但非常常见。它惩罚了非常糟糕的预测。由于计算速度快,这也为模型优化提供了一个很大的损失度量。

从这篇文章中对MAE有了新的想法。它很容易理解并按比例处理所有预测误差。我会在大多数回归问题评估中强调它。

本文代码地址:https://github.com/discdiver/r2rmsemae

作者:Jeff Hale

deephub翻译组

特别声明:以上内容(如有图片或视频亦包括在内)为自媒体平台“网易号”用户上传并发布,本平台仅提供信息存储服务。

Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.

相关推荐
热点推荐
全球十大毒王级垃圾食品曝光, 很多华人天天都在吃! 泡面, 汉堡竟都没上榜

全球十大毒王级垃圾食品曝光, 很多华人天天都在吃! 泡面, 汉堡竟都没上榜

澳微Daily
2026-05-10 15:59:51
心理学上说:永远不要指出你身边人的任何问题,包括你的亲戚朋友。否则只会给你自己带来这两种伤害

心理学上说:永远不要指出你身边人的任何问题,包括你的亲戚朋友。否则只会给你自己带来这两种伤害

心理观察局
2026-05-10 08:08:12
蒯曼输球不可怕,赛后清醒认知才令人担忧

蒯曼输球不可怕,赛后清醒认知才令人担忧

老淸医学科普
2026-05-10 22:13:41
太可怕了!继注射药物、热巴事件后,王阳再揭娱乐圈最脏的一面

太可怕了!继注射药物、热巴事件后,王阳再揭娱乐圈最脏的一面

橙星文娱
2026-04-17 13:19:56
张文宏:病毒传播路径异常!中国涉邮轮人员核酸阴性!美英荷等国相继表态

张文宏:病毒传播路径异常!中国涉邮轮人员核酸阴性!美英荷等国相继表态

纵相新闻
2026-05-10 13:56:12
伊朗已回应美国提出的结束战争方案

伊朗已回应美国提出的结束战争方案

新华社
2026-05-10 20:28:27
失业4个月!阿隆索有望再就业:利物浦致电皇马 打探情况

失业4个月!阿隆索有望再就业:利物浦致电皇马 打探情况

叶青足球世界
2026-05-10 20:13:02
夺冠即下课!海因克斯曾遭皇马清洗,如今伯纳乌乱局再现

夺冠即下课!海因克斯曾遭皇马清洗,如今伯纳乌乱局再现

星耀国际足坛
2026-05-10 22:39:09
一张“初三女孩体测”照片,让家长被数万网友指责:太不用心了!

一张“初三女孩体测”照片,让家长被数万网友指责:太不用心了!

川渝视觉
2026-04-25 20:19:24
别再被抗战剧骗了!一名日军摄影师,拍下真正的“鬼子进村”照片

别再被抗战剧骗了!一名日军摄影师,拍下真正的“鬼子进村”照片

历史甄有趣
2026-05-04 08:10:22
特斯拉又双叒叕降价了!

特斯拉又双叒叕降价了!

娱乐圈的笔娱君
2026-05-09 17:14:19
世乒赛男团决赛,3-2,3-1,国乒连续翻盘,梁靖崑王楚钦建功

世乒赛男团决赛,3-2,3-1,国乒连续翻盘,梁靖崑王楚钦建功

等等talk
2026-05-11 01:31:10
两自媒体编造传播芯片虚假信息遭重罚

两自媒体编造传播芯片虚假信息遭重罚

每日经济新闻
2026-05-09 20:17:46
每体:姆巴佩缺席国家德比令更衣室不解,队内曾认为他可能首发

每体:姆巴佩缺席国家德比令更衣室不解,队内曾认为他可能首发

懂球帝
2026-05-11 01:02:16
“旨在取代F-16”?外媒:土耳其签署协议,采购20架“可汗”战机

“旨在取代F-16”?外媒:土耳其签署协议,采购20架“可汗”战机

环球网资讯
2026-05-09 22:04:10
教练打压实锤?与王楚钦闹翻?私生活遭质疑,樊振东首次回应谣言

教练打压实锤?与王楚钦闹翻?私生活遭质疑,樊振东首次回应谣言

凡知
2026-04-10 21:00:33
“晚打不如早打,小打不如大打,打一个,不如拉日本一起打”。

“晚打不如早打,小打不如大打,打一个,不如拉日本一起打”。

安安说
2026-03-14 18:50:59
比赌博还狠的“隐形毒药”,正慢慢掏空中国家庭,无数人被它拖垮

比赌博还狠的“隐形毒药”,正慢慢掏空中国家庭,无数人被它拖垮

千秋文化
2026-02-10 20:55:47
中韩半导体ETF华泰柏瑞(513310)二级市场交易价格出现较大幅度溢价 5月11日开市起至当日10:30停牌

中韩半导体ETF华泰柏瑞(513310)二级市场交易价格出现较大幅度溢价 5月11日开市起至当日10:30停牌

财联社
2026-05-10 20:05:17
梁靖崑再次上演神奇逆转,3-2胜张本智和,为国乒男团拿到宝贵1分

梁靖崑再次上演神奇逆转,3-2胜张本智和,为国乒男团拿到宝贵1分

湘楚风云聊体育
2026-05-11 00:39:27
2026-05-11 02:28:49
deephub incentive-icons
deephub
CV NLP和数据挖掘知识
1989文章数 1461关注度
往期回顾 全部

科技要闻

DeepSeek融资,改写所有人的估值

头条要闻

儿子车祸受伤生存希望不足0.1% 母亲请中医熬"还魂汤"

头条要闻

儿子车祸受伤生存希望不足0.1% 母亲请中医熬"还魂汤"

体育要闻

那个曾让詹姆斯抱头的兄弟,40岁从大学毕业了

娱乐要闻

赵露思老实人豁出去了 没舞蹈天赋硬跳

财经要闻

白酒大逃杀

汽车要闻

轴距加长/智驾拉满 阿维塔07L定位大五座SUV

态度原创

游戏
本地
时尚
教育
公开课

LPL第二赛段:拒绝让一追二!JDG三局战胜AL,挺进前三

本地新闻

用苏绣的方式,打开江西婺源

真爱大牌|| 用了4年都不舍得换,终于把小贵的价格也磨下来了

教育要闻

高考地理中的共享经济

公开课

李玫瑾:为什么性格比能力更重要?

无障碍浏览 进入关怀版