回归模型的算法性能评价

· 浏览次数 : 5

小编点评

本文主要介绍了回归问题的性能评价指标,包括可解释方差(EVS)、平均绝对误差(MAE)、均方误差(MSE)、均方根误差(RMSE)和决定系数(R2)。文章首先阐述了回归问题的两种情况:单输出和多输出,并分别给出了各自的评价指标计算方法。接着,文章通过Python实现了这些评价指标,并对单输出和多输出情况下的性能进行了计算和对比。最后,文章总结了这些评价指标的应用及计算方法。 1. **概述**: - 回归问题的性能评价指标用于衡量模型预测能力。 - 常见的性能评价指标包括EVS、MAE、MSE、RMSE和R2等。 - 回归问题分为单输出和多输出情形,两者在使用不同评价指标。 2. **评价指标介绍**: - **平均绝对误差(MAE)**:衡量预测值与真实值之间的偏差,计算公式为MAE=(1/n)*∑{|yi-yi¯|}。 - **均方误差(MSE)**:衡量预测值与真实值之间平方偏差的平均值,计算公式为MSE=(1/n)*∑{(yi-yi¯)²}。 - **均方根误差(RMSE)**:对MSE进行开方运算,计算公式为RMSE=√∑{( yi- yi¯)²/n}。 - **决定系数(R2)**:衡量自变量对因变量的解释程度,计算公式为R2=1-∑{(yi- yi¯)²}/∑{yi- y¯}²。 - **可解释方差(EVS)**:衡量模型对数据波动性的解释程度,计算公式为EVS=1-∑{yi- yi¯}²/var(y)。 3. **Python实现**: - 文章提供了单输出和多输出情形下的评价指标Python实现示例。 - 示例中包含了各种评价指标的计算方法和结果展示。 - 引入了numpy和sklearn.metrics库以辅助计算。 总的来说,文章详细介绍了回归问题中不同评价指标的概念、计算方法和应用场景,并通过Python代码展示了如何实现这些指标的计算,以便更好地评估和提升模型的预测能力。

正文

一、概述

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

二、评价指标

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

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

\[MAE=\frac{1}{n}\sum_{i=1}^{n}{\left| y_i-\hat{y}_i \right|} \]

其中,\(y_i\)为真实值,\(\hat{y}_i\)为预测值。

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

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

\[MSE=\frac{1}{n}\sum_{i=1}^{n}{\left( y_i-\hat{y}_i \right)^{2}} \]

其中,\(y_i\)为真实值,\(\hat{y}_i\)为预测值。

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

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

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

其中,\(y_i\)为真实值,\(\hat{y}_i\)为预测值。

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

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

\[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}}} \]

其中,\(\bar{y}=\frac{1}{n}\sum_{i=1}^{n}{y_i}\)\(y_i\)为真实值,\(\hat{y}_i\)为预测值。

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

EVS是模型的解释方差得分,与决定系数R2作用一致,用以衡量从波动性角度解释模型对数据的契合程度,取值范围通常为[0,1]。值越接近于1,性能越好;值越接近于0,性能越差。表达式为

\[EVS=1-\frac{Var\{y-\hat{y}\}}{Var\{y\}} \]

其中,\(y_i\)为真实值,\(\hat{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])
'''



End.

与回归模型的算法性能评价相似的内容:

回归模型的算法性能评价

一、概述 在一般形式的回归问题中,会得到系列的预测值,它们与真实值(ground truth)的比较表征了模型的预测能力,为有效量化这种能力,常见的性能评价指标有可解释方差(EVS)、平均绝对误差(MAE)、均方误差(MSE)、均方根误差(RMSE)、决定系数(R2)等。值得一提的是,回归问题分单输

算法金 | 必会的机器学习评估指标

构建机器学习模型的关键步骤是检查其性能,这是通过使用验证指标来完成的。 选择正确的验证指标就像选择一副水晶球:它使我们能够以清晰的视野看到模型的性能。 在本指南中,我们将探讨分类和回归的基本指标和有效评估模型的知识。 学习何时使用每个指标、优点和缺点以及如何在 Python 中实现它们 1 分类指标

算法金 | 线性回归:不能忽视的五个问题

大侠幸会,在下全网同名「算法金」 0 基础转 AI 上岸,多个算法赛 Top 「日更万日,让更多人享受智能乐趣」 线性回归的理论依据是什么? 多重共线性是什么,它如何影响线性回归模型? 什么是自相关性,自相关性对线性回归有什么影响? 什么是异方差性,如何检测和处理异方差性? 训练数据与测试数据分布不

算法金 | 一个强大的算法模型,多项式回归!!

大侠幸会,在下全网同名「算法金」 0 基础转 AI 上岸,多个算法赛 Top 「日更万日,让更多人享受智能乐趣」 吴恩达:机器学习的六个核心算法!--> 线性回归 在许多实际场景中,简单的线性回归无法捕捉复杂的模式,这时候就该祭出我们多项式回归大法了,一种在数据分析和预测中常用的机器学习方法。 本文

算法金 | 一个强大的算法模型,GP !!

大侠幸会,在下全网同名「算法金」 0 基础转 AI 上岸,多个算法赛 Top 「日更万日,让更多人享受智能乐趣」 高斯过程算法是一种强大的非参数机器学习方法,广泛应用于回归、分类和优化等任务中。其核心思想是利用高斯分布来描述数据的分布,通过核函数来度量数据之间的相似性。与传统的机器学习方法相比,高斯

算法金 | 统计学的回归和机器学习中的回归有什么差别?

大侠幸会,在下全网同名「算法金」 0 基础转 AI 上岸,多个算法赛 Top 「日更万日,让更多人享受智能乐趣」 统计学中的回归 目标: 主要用于解释和推断自变量(independent variables)和因变量(dependent variables)之间的关系。 强调模型的解释性,了解各个自

算法金 | 通透!!十大回归算法模型最强总结

大侠幸会,在下全网同名「算法金」 0 基础转 AI 上岸,多个算法赛 Top 「日更万日,让更多人享受智能乐趣」 今日 170+/10000 问:算法那么多,怎么修炼的过来 答:搞定最经典的,这些是低垂的果实 前几天发出吴恩达:机器学习的六个核心算法! 这篇文章,读者反馈很好,特别推荐阅读。 吴恩达

算法金 | 你真的完全理解 Logistic 回归算法了吗

大侠幸会,在下全网同名「算法金」 0 基础转 AI 上岸,多个算法赛 Top 「日更万日,让更多人享受智能乐趣」 今日 178/10000 1. 引言 吴恩达:机器学习的六个核心算法!, 通透!!十大回归算法模型最强总结, 突破最强算法模型,决策树算法!! 急匆匆把 逻辑回归 给落下了,今天我们杀他

算法金 | 突破最强算法模型,决策树算法!!

大侠幸会,在下全网同名「算法金」 0 基础转 AI 上岸,多个算法赛 Top 「日更万日,让更多人享受智能乐趣」 1. 引言 今天我们唠唠 吴恩达:机器学习的六个核心算法! 之决策树算法。 决策树是一种用于分类和回归的机器学习算法。它通过一系列的决策规则将数据逐步划分,最终形成一个类似于树状结构的模

【目标检测】R-CNN算法实现

R-CNN算法是目标检测领域的开山之作,为后续发展的各种目标检测算法指明了方向。本文将基于17Flowers数据集,在Pytorch框架下实现R-CNN目标检测功能。主要内容包括选择性搜索、目标特征提取及分类、边界框回归、模型训练、检测框预测等原理及代码实现。