各位读者大家好!在本文中,我们将重点讨论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 平方的值:
- 使用函数计算相关矩阵
numpy.corrcoef()
。 - 使用索引 [0,1] 对矩阵进行切片以获取 R 的值,即
Coefficient of Correlation
。 - 对 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 相关的此类帖子,请继续关注,直到那时。快乐学习!!🙂