决定系数——Python 中的 R 平方值

各位读者大家好!在本文中,我们将重点讨论Python 中的决定系数。那么,让我们开始吧!🙂


什么是决定系数(R 平方值)?

在深入探讨决定系数的概念之前,让我们首先了解通过误差指标评估机器学习模型的必要性。

在数据科学领域,为了解决任何模型,工程师/开发人员非常有必要在将模型应用于数据集之前评估模型的效率模型的评估基于某些误差指标。决定系数就是这样一种误差度量。

决定系数通常也称为 R 平方值,用于regression error metric评估模型对其所应用的数据值的准确性和效率。

R 平方值描述了模型的性能。它描述了由数据模型的自变量预测的响应或目标变量的变化。

因此,简单来说,我们可以说,R 平方值有助于确定模型的混合程度以及数据集的决定(独立)变量对输出值的解释程度。

R平方的值范围在[0,1]之间。看看下面的公式吧!

R 2 = 1- SS res / SS tot

这里,

  • SS res 表示数据模型残差的平方和。
  • SS tot 表示误差总和。

R 平方值越高,模型和结果越好


R 方与 NumPy 库

现在让我们尝试使用Python NumPy库实现 R 方

我们按照以下步骤使用 Numpy 模块获取 R 平方的值:

  1. 使用函数计算相关矩阵numpy.corrcoef()
  2. 使用索引 [0,1] 对矩阵进行切片以获取 R 的值,即Coefficient of Correlation
  3. 对 R 值求平方即可得到 R 平方值。

例子:

import numpy
actual = [1,2,3,4,5]
predict = [1,2.5,3,4.9,4.9]
 
corr_matrix = numpy.corrcoef(actual, predict)
corr = corr_matrix[0,1]
R_sq = corr**2
 
print(R_sq)

输出:

0.934602946460654

R 方与 Python sklearn 库

现在,让我们尝试使用 sklearn 库计算 R 平方的值。Python sklearn库为我们提供了一个r2_score()函数来确定决定系数的值。

例子:

from sklearn.metrics import r2_score
a =[1, 2, 3, 4, 5]
b =[1, 2.5, 3, 4.9, 5.1]
R_square = r2_score(a, b)
print('Coefficient of Determination', R_square)

输出:

Coefficient of Determination 0.8929999999999999

结论

至此,我们这个话题就结束了。如果您遇到任何问题,请随时在下面发表评论。有关更多与 Python 相关的此类帖子,请继续关注,直到那时。快乐学习!!🙂