回归模型的算法性能评价

一、概述

在一般形式的回归问题中,会得到系列的预测值,它们与真实值(ground truth)的比较表征了模型的预测能力,为有效量化这种能力,常见的性能评价指标有平均绝对误差(MAE)、均方误差(MSE)、均方根误差(RMSE)、决定系数(R2)、可解释方差(EVS)等。值得一提的是,回归问题分单输出情形和多输出情形,在多输出情形下,可以对各维度结果进行平均计算或以不同的权重进行计算。

二、评价指标

1. 平均绝对误差(Mean Absolute Error,MAE)

MAE是计算预测值与真实值之差的绝对值之和,再求平均。表达式为

M A E = 1 n ∑ i = 1 n ∣ y i − y ^ i ∣ MAE=\frac{1}{n}\sum_{i=1}^{n}{\left| y_i-\hat{y}_i \right|} MAE=n1i=1nyiy^i

其中, y i y_i yi为真实值, y ^ i \hat{y}_i y^i为预测值。

2. 均方误差(Mean Squared Error,MSE)

MSE是计算预测值与真实值之差的平方之和,再求平均。表达式为

M S E = 1 n ∑ i = 1 n ( y i − y ^ i ) 2 MSE=\frac{1}{n}\sum_{i=1}^{n}{\left( y_i-\hat{y}_i \right)^{2}} MSE=n1i=1n(yiy^i)2

其中, y i y_i yi为真实值, y ^ i \hat{y}_i y^i为预测值。

3. 均方根误差(Root Mean Squared Error,RMSE)

RMSE是对MSE作开方处理。表达式为

R M S E = 1 n ∑ i = 1 n ( y i − y ^ i ) 2 RMSE=\sqrt{\frac{1}{n}\sum_{i=1}^{n}{\left( y_i-\hat{y}_i \right)^{2}}} RMSE=n1i=1n(yiy^i)2
其中, y i y_i yi为真实值, y ^ i \hat{y}_i y^i为预测值。

4. 决定系数(The Coefficient of Determination,R2)

R2表征自变量对因变量的可解释程度,从波动性的角度衡量了模型对数据的契合程度,取值范围通常为[0,1]。值越接近于1,性能越好;值越接近于0,性能越差。表达式为

R 2 = 1 − ∑ i = 1 n ( y i − y ^ i ) 2 ∑ i = 1 n ( y i − y ˉ i ) 2 R^{2}=1-\frac{\sum_{i=1}^{n}{\left( y_i-\hat{y}_i \right)^{2}}}{\sum_{i=1}^{n}{\left( y_i-\bar{y}_i \right)^{2}}} R2=1i=1n(yiyˉi)2i=1n(yiy^i)2

其中, y ˉ = 1 n ∑ i = 1 n y i \bar{y}=\frac{1}{n}\sum_{i=1}^{n}{y_i} yˉ=n1i=1nyi y i y_i yi为真实值, y ^ i \hat{y}_i y^i为预测值。

5. 可解释方差(Explained Variance Score,EVS)

EVS是模型的解释方差得分,与决定系数R2作用一致,用以衡量从波动性角度解释模型对数据的契合程度,取值范围通常为[0,1]。值越接近于1,性能越好;值越接近于0,性能越差。表达式为
E V S = 1 − V a r { y − y ^ } V a r { y } EVS=1-\frac{Var\{y-\hat{y}\}}{Var\{y\}} EVS=1Var{y}Var{yy^}
其中, y i y_i yi为真实值, y ^ i \hat{y}_i y^i为预测值。

三、Python实现

import numpy as np
import sklearn.metrics as mr

## 单输出情形
y_true = [[4],
          [5],
          [6],
          [7]]

y_pred = [[3],
          [4.2],
          [5],
          [6.3]]

print('\n 单输出情形:')

print('平均绝对误差MAE:',mr.mean_absolute_error(y_true, y_pred))
print('均方误差MSE:',mr.mean_squared_error(y_true, y_pred))
print('均方根误差RMSE:',np.sqrt(mr.mean_squared_error(y_true, y_pred)))
print('R2:',mr.r2_score(y_true, y_pred))
print('可解释方差EVS:',mr.explained_variance_score(y_true, y_pred, sample_weight=None, multioutput='uniform_average'))

print('\n----------')

## 多输出情形
y_true = [[1, 2, 3],
          [3, 4, 5],
          [5, 6, 7]]

y_pred = [[1.2, 2, 3.6],
          [3.3, 4, 5.7],
          [5.4, 6, 7.8]]


print('\n 多输出情形:')
print('平均绝对误差MAE_平均:',mr.mean_absolute_error(y_true, y_pred))
print('均方误差MSE:',mr.mean_squared_error(y_true, y_pred))
print('均方根误差RMSE:',np.sqrt(mr.mean_squared_error(y_true, y_pred)))
print('R2: ', mr.r2_score(y_true, y_pred))
print('可解释方差EVS:',mr.explained_variance_score(y_true, y_pred, sample_weight=None, multioutput='uniform_average'))


'''
注:其中可加入multioutput参数属性,multioutput='raw_values'是按维度计算指标值;multioutput=[p1,p2...,pn]是加权计算指标值。如
平均绝对误差MAE_按维度:,mr.mean_absolute_error(y_true, y_pred,multioutput='raw_values')
平均绝对误差MAE_加权:,mr.mean_absolute_error(y_true, y_pred,multioutput=[0.25,0.3,0.45])
'''

在这里插入图片描述



pdf下载

End.

  • 19
    点赞
  • 29
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
回归算法的优缺点: 优点: 1. 简单易懂:回归算法是一种较为简单的机器学习算法,易于理解和实现。 2. 可解释性强:回归算法能够提供模型预测结果的可解释性,方便分析和理解。 3. 适用范围广:回归算法适用于各种类型的数据,如连续型数据、分类型数据等。 4. 鲁棒性强:回归算法对于数据的噪声和异常值有一定的鲁棒性,能够比较好地处理这些情况。 缺点: 1. 对异常值敏感:回归算法对于异常值的敏感度较高,容易受到异常值的影响,导致预测结果不准确。 2. 过拟合问题:回归算法容易出现过拟合问题,需要进行特征选择和调参等操作来避免这种情况的发生。 3. 局限性较大:回归算法模型形式较为固定,对于复杂的数据结构和特征之间的关系的建模能力有一定的局限性。 评分模型评价: 评分模型评价是指通过对模型预测结果与真实值之间的比较,对模型性能进行评价和分析。评分模型评价的指标包括: 1. 均方误差(MSE):用于衡量预测值与真实值之间的平均误差,数值越小表示预测结果越准确。 2. 均方根误差(RMSE):MSE的平方根,用于衡量预测值与真实值之间的平均误差,与MSE具有相同的数值趋势。 3. 平均绝对误差(MAE):用于衡量预测值与真实值之间的平均绝对误差,数值越小表示预测结果越准确。 4. 决定系数(R2):用于衡量模型对数据的拟合程度,数值越接近1表示模型对数据的拟合程度越好。 通过对这些指标的评估,可以综合考虑模型预测结果的准确性、稳定性和拟合程度等方面的表现,为模型的改进和优化提供指导。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

禺垣

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值