回归模型评价指标:MSE、RMSE、MAE、R2 score

这篇具有很好参考价值的文章主要介绍了回归模型评价指标:MSE、RMSE、MAE、R2 score。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

回归模型评价指标:MSE、RMSE、MAE、 R 2 R^2 R2 score


前言

提示:

回归模型的性能的评价指标主要有:RMSE(平方根误差)、MAE(平均绝对误差)、MSE(平均平方误差)、R2_score。但是当量纲不同时,RMSE、MAE、MSE难以衡量模型效果好坏,这就需要用到R2_score。


平均绝对误差(MAE)

(MAE)Mean Absolute Error,是绝对误差的平均值,能更好地反映预测值误差的实际情况。


均方误差(MSE)

MSE(mean-square error) 该统计参数是预测数据和原始数据对应点误差的平方和的均值。


均方根误差(RMSE)

Root Mean Square Error求均方误差的根号


决定系数( R 2 R^2 R2 score)

决定系数R2(coefficient of determination),也称判定系数或者拟合优度。它是表征回归方程在多大程度上解释了因变量的变化,或者说方程对观测值的拟合程度如何。拟合优度的有效性通常要求:自变量个数:样本数>1:10。

R 2 R^2 R2 score决定系数,反映因变量的全部变异能通过回归关系被自变量解释的比例。

mse模型评价,python,回归


根据 R-Squared 的取值,来判断模型的好坏,其取值范围为[0,1]:

  • 如果结果是 0,说明模型拟合效果很差;
  • 如果结果是 1,说明模型无错误。

一般来说,R-Squared 越大,表示模型拟合效果越好。R-Squared 反映的是大概有多准,因为,随着样本数量的增加,R-Square必然增加,无法真正定量说明准确程度,只能大概定量。
所以要想决定系数R2越接近1,必须满足MSE越小,也就是真实值与预测值相差不大,也就是模型拟合程度高,同时var方差越大,也就是我们的样本离散程度大,对应的我们实际采样过程中,就是要求样本是随机性,以及全面性,覆盖度广。

注意

  • 决定系数适用于线性回归,单变量或者多元线性;y=ax或者y=ax1+bx2…; - 拟合模型是非线性的,不能用决定系数来评价其拟合效果,例如:BP神经网络;
  • 当拟合程度不行,可以调整参数或者权重-例如a,b,使预测值与真实值越接近。
  • 其中,分子部分表示真实值与预测值的平方差之和,类似于均方差 MSE;分母部分表示真实值与均值的平方差之和,类似于方差 Var。

R 2 R^2 R2( R 2 R^2 R2 score)-深度研究


对于 R 2 R^2 R2可以通俗地理解为使用均值作为误差基准,看预测误差是否大于或者小于均值基准误差。

  • R2_score = 1,样本中预测值和真实值完全相等,没有任何误差,表示回归分析中自变量对因变量的解释越好。
  • R2_score =0。此时分子等于分母,样本的每项预测值都等于均值。
  • R2_score不是r的平方,也可能为负数(分子>分母),模型等于盲猜,还不如直接计算目标变量的平均值。

#根据公式,我们可以写出r2_score实现代码
 **1- mean_squared_error(y_test,y_preditc)/ np.var(y_test)**
也可以直接调用sklearn.metrics中的r2_score
**sklearn.metrics.r2_score(y_true, y_pred, sample_weight=None, multioutput='uniform_average')**

> y_true:观测值 
> y_pred:预测值 
> sample_weight:样本权重,默认None
> multioutput:多维输入输出,可选‘raw_values’, ‘uniform_average’,‘variance_weighted’或None。默认为’uniform_average’;

> raw_values:分别返回各维度得分 uniform_average:各输出维度得分的平均
> variance_weighted:对所有输出的分数进行平均,并根据每个输出的方差进行加权。

r2_score: 0.47
r2_score偏小,预测效果一般。
注意事项

1、 R 2 R^2 R2 一般用在线性模型中(非线性模型也可以用)

2、 R 2 R^2 R2不能完全反映模型预测能力的高低,某个实际观测的自变量取值范围很窄,但此时所建模型的R2 很大,但这并不代表模型在外推应用时的效果肯定会很好。

3、数据集的样本越大,R²越大,因此,不同数据集的模型结果比较会有一定的误差,此时可以使用Adjusted R-Square (校正决定系数),能对添加的非显著变量给出惩罚:
mse模型评价,python,回归
n是样本的个数,p是变量的个数


校正决定系数(Adjusted R-Square)

mse模型评价,python,回归
其中,n 是样本数量,p 是特征数量。
Adjusted R-Square 抵消样本数量对 R-Square的影响,做到了真正的 0~1,越大越好。
python中可以直接调用。


统计学理论

方差(variance)
计算公式:S2=1/n [(x1-X)2+(x2-X)2+(x3-X)2+…(xn-X)2] (X表示平均数)
方差在概率论和统计方差衡量随机变量或一组数据时离散程度的度量。
概率论中方差用来度量随机变量和其数学期望(即均值)之间的偏离程度。

统计中的方差(样本方差)是每个样本值与全体样本值的平均数之差的平方值的平均数。


代码实现

sklearn库调用模型评估

#导入相应的函数库
from sklearn import datasets
from sklearn.model_selection import train_test_split
from sklearn.ensemble import RandomForestRegressor
import numpy as np
import pandas as pd

# 使用sklearn调用衡量线性回归的MSE 、 RMSE、 MAE、r2
from math import sqrt
from sklearn.metrics import mean_absolute_error
from sklearn.metrics import mean_squared_error
from sklearn.metrics import r2_score
print("mean_absolute_error:", mean_absolute_error(y_test, y_predict))
print("mean_squared_error:", mean_squared_error(y_test, y_predict))
print("rmse:", sqrt(mean_squared_error(y_test, y_predict)))
print("r2 score:", r2_score(y_test, y_predict))

原生实现

# 衡量线性回归的MSE 、 RMSE、 MAE、r2
from math import sqrt
mse = np.sum((y_test - y_predict) ** 2) / len(y_test)
rmse = sqrt(mse)
mae = np.sum(np.absolute(y_test - y_predict)) / len(y_test)
r2 = 1-mse/ np.var(y_test)#均方误差/方差
print(" mae:",mae,"mse:",mse," rmse:",rmse," r2:",r2)

应用

y_test1=np.array(Y_true_3[:,0:1])
y_predict1=np.array(predict[:,0])
y_test2=np.array(Y_true_3[:,1:2])
y_predict2=np.array(predict[:,1])
print("ROP   : R2:%.4f"% r2_score(y_test1, y_predict1),  " MSE:%.4f"%  mean_squared_error(y_test1, y_predict1),  "RMSE:%.4f" % calc_rmse(y_test1, y_predict1))
print("Torque: R2:%.4f"% r2_score(y_test2, y_predict2),  "MSE:%.4f"%  mean_squared_error(y_test2, y_predict2),  "RMSE:%.4f" % calc_rmse(y_test2, y_predict2))

总结

提示:这里对文章进行总结:
例如:以上就是今天要讲的内容,本文仅仅简单介绍了pandas的使用,而pandas提供了大量能使我们快速便捷地处理数据的函数和方法。文章来源地址https://www.toymoban.com/news/detail-524988.html

到了这里,关于回归模型评价指标:MSE、RMSE、MAE、R2 score的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • MATLAB知识点: SSE: 误差平方和、 MSE: 均方误差、RMSE: 均方根误差、MAE: 平均绝对误差、MAPE: 平均绝对百分比误差、SMAPE: 对称平均绝对百分比误差、R方: 决定系数

    ​讲解视频:可以在bilibili搜索《MATLAB教程新手入门篇——数学建模清风主讲》。​ MATLAB教程新手入门篇(数学建模清风主讲,适合零基础同学观看)_哔哩哔哩_bilibili 节选自第3章 3.4.2 算术运算 学完了矩阵的算术运算后,我们来做一些练习。 假设真实值是向量 ,拟合值或

    2024年02月21日
    浏览(31)
  • 图像处理之图像质量评价指标MSE(均方误差)

    一、MSE基本定义 MSE全称为“Mean Square Error”,中文意思即为均方误差,是衡量图像质量的指标之一。计算原理为 真实值与预测值的差值的平方然后求和再平均 ,公式如下: 其中, M为图像I的像素总数,N为图像K的像素总数。 MSE值越小,说明图像越相似 。计算MSE有四种方法:

    2024年02月05日
    浏览(30)
  • 图像处理之图像质量评价指标MAE(平均绝对误差)

    一、MAE基本定义 MSE全称为“Mean Absolute Error”,中文意思即为平均绝对误差,是衡量图像质量的指标之一。计算原理为 真实值与预测值的差值的绝对值然后求和再平均 ,公式如下: MAE值越小,说明图像质量越好 。计算MAE有三种方法: 方法一 :计算RGB图像三个通道每个通道

    2024年02月05日
    浏览(31)
  • Python计算语义分割模型的评价指标

    目录 一、混淆矩阵 二、分类指标 1、Accuracy(准确率) 2、Precision(查准率) 3、Recall (查全率) 4、F1-score  三、语义分割的评价指标 1、MPA(类别平均像素准确率) 2、IoU(交并比) 3、MIoU(平均交并比) 4、CPA(类别像素准确率) 5、PA(像素准确率) 四、代码实现(基于混淆矩阵)  混淆

    2024年02月04日
    浏览(39)
  • 详细讲解分类模型评价指标(混淆矩阵)python示例

    对于回归模型的评估方法,通常会采用平均绝对误差(MAE)、均方误差(MSE)、平均绝对百分比误差(MAPE)等方法。 对于聚类模型的评估方法,较为常见的一种方法为轮廓系数(Silhouette Coefficient ),该方法从内聚度和分离度两个方面入手,用以评价相同数据基础上不同聚类

    2024年02月06日
    浏览(39)
  • R2 和 RMSE

    要点: 多项式回归模型的搭建 R2(决定系数)和RMSE(均方根误差)是常用的回归模型评估指标,用于衡量模型对观测数据的拟合程度和预测精度。以下是它们的计算方法: R2(决定系数) : R2 表示模型对因变量的解释能力, 取值范围从 0 到 1,越接近 1 表示模型对数据的拟

    2024年02月07日
    浏览(22)
  • 模型评价指标—F1值

    最近空余时间在参加数字中国创新大赛,比赛规则是根据模型的F1值对参赛者进行排名。为了更深刻地理解这个指标,我最近对它做了一些梳理,现在把它分享给更多有需要的人图片。最近在参赛时也发现了一个问题,就是算法在训练集上完全拟合(KS=1),但是到测试集上衰退

    2024年02月08日
    浏览(29)
  • 【详解】文本检测OCR模型的评价指标

    前言:网上关于评价标准乱七八糟的,有关于单词的,有关于段落的,似乎没见过谁解释一下常见论文中常用的评价指标具体是怎么计算的,比如DBNet,比如RCNN,这似乎好像默认大家都知道咋算了。 好吧,我不知道,我刚搞懂,做个笔记。 识别网络是最简单的,只有一个指

    2024年02月11日
    浏览(28)
  • 深度学习1:通过模型评价指标优化训练

    在深度学习和机器学习领域,模型评价指标用于衡量训练得到的模型在处理数据时的性能和效果。常见的模型评价指标包括: 准确率(Accuracy): 准确率是最直观和常用的评价指标之一,表示分类正确的样本数占总样本数的比例。然而,在不平衡数据集中,准确率可能会产生

    2024年02月12日
    浏览(36)
  • 【机器学习】全网最全模型评价指标(性能指标、YOLOv5训练结果分析、轻量化指标、混淆矩阵详解)【基础收藏】

    在目标检测任务中,我们常用的评价指标一般有两种,一种是使用Pascal VOC的评价指标,一种是更加严格的COCO评价指标,一般后者会更常用点。 如何判断一个检测结果是否正确。目前最常用的方式就是去计算检测框与真实框的IOU,然后 根据IOU去判别两个框是否匹配 。 常见指

    2024年02月04日
    浏览(34)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包