如何在 python 中计算 r 平方(附示例)


R 平方(通常写为R2 )是响应变量中可以由线性回归模型中的预测变量解释的方差的比例。

R 平方的值可以在 0 到 1 之间变化,其中:

  • 0表示响应变量根本无法用预测变量来解释。
  • 1表明响应变量可以被预测变量完美地解释而没有错误。

以下示例演示如何在 Python 中计算回归模型的 R 2

示例:在 Python 中计算 R 平方

假设我们有以下 pandas DataFrame:

 import pandas as pd

#createDataFrame
df = pd. DataFrame ({' hours ': [1, 2, 2, 4, 2, 1, 5, 4, 2, 4, 4, 3, 6],
                   ' prep_exams ': [1, 3, 3, 5, 2, 2, 1, 1, 0, 3, 4, 3, 2],
                   ' score ': [76, 78, 85, 88, 72, 69, 94, 94, 88, 92, 90, 75, 96]})

#view DataFrame
print (df)

    hours prep_exams score
0 1 1 76
1 2 3 78
2 2 3 85
3 4 5 88
4 2 2 72
5 1 2 69
6 5 1 94
7 4 1 94
8 2 0 88
9 4 3 92
10 4 4 90
11 3 3 75
12 6 2 96

我们可以使用sklearnLinearRegression()函数来拟合回归模型,并使用Score()函数来计算模型的 R 平方值:

 from sklearn.linear_model import LinearRegression

#initiate linear regression model
model = LinearRegression()

#define predictor and response variables
x, y = df[[" hours ", " prep_exams "]], df. score

#fit regression model
model. fit (x,y)

#calculate R-squared of regression model
r_squared = model. score (x,y)

#view R-squared value
print (r_squared)

0.7175541714105901

模型的 R 方结果为0.7176

这意味着71.76%的考试成绩差异可以通过学习时数和练习考试次数来解释。

如果需要,我们可以将该 R 平方值与具有不同预测变量集的另一个回归模型进行比较。

一般来说,R平方值较高的模型是首选,因为这意味着模型中的预测变量集能够很好地解释响应变量的变化。

相关: 什么是好的 R 平方值?

其他资源

以下教程解释了如何在 Python 中执行其他常见操作:

如何在 Python 中执行简单线性回归
如何在 Python 中执行多元线性回归
如何用Python计算回归模型的AIC

添加评论

您的电子邮箱地址不会被公开。 必填项已用*标注