如何使用 Python 计算决定系数(R²)
决定系数 R² 是用于评估线性回归模型拟合优度的重要统计量。它代表了因变量的变异中有多少比例可以被自变量解释。在本文中,我将教你如何使用 Python 计算 R²,并展示这些步骤。
整体流程
为了更好地理解这个过程,我们可以将步骤整理成表格形式:
| 步骤编号 | 步骤描述 |
|---|---|
| 1 | 导入需要的库 |
| 2 | 创建或加载数据集 |
| 3 | 拆分数据集为训练集和测试集 |
| 4 | 训练线性回归模型 |
| 5 | 使用模型进行预测 |
| 6 | 计算决定系数 R² |
| 7 | 可视化结果(可选) |
接下来,我们将详细介绍每一个步骤。
步骤详细说明
1. 导入需要的库
我们首先需要引入一些库,包括 pandas、sklearn 和 matplotlib。
# 导入数据处理库
import pandas as pd
# 导入机器学习库
from sklearn.model_selection import train_test_split
from sklearn.linear_model import LinearRegression
from sklearn.metrics import r2_score
# 导入可视化库
import matplotlib.pyplot as plt
2. 创建或加载数据集
这里我们可以通过 pandas 创建一个简单的数据集。
# 创建一个示例数据集
data = {
'X': [1, 2, 3, 4, 5],
'y': [2, 3, 5, 7, 11]
}
df = pd.DataFrame(data)
3. 拆分数据集为训练集和测试集
我们将数据集分为训练集和测试集,用于模型训练和性能评估。
# 拆分训练集和测试集(80% 训练集, 20% 测试集)
X = df[['X']]
y = df['y']
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=0)
4. 训练线性回归模型
我们将使用训练集来训练线性回归模型。
# 创建线性回归模型
model = LinearRegression()
# 训练模型
model.fit(X_train, y_train)
5. 使用模型进行预测
使用我们的模型对测试集进行预测。
# 使用模型进行预测
y_pred = model.predict(X_test)
6. 计算决定系数 R²
计算我们模型的决定系数 R²。
# 计算 R²
r2 = r2_score(y_test, y_pred)
print(f"决定系数 R²: {r2}")
7. 可视化结果(可选)
我们可以绘制图表来可视化拟合结果。
# 绘制数据点和回归线
plt.scatter(X, y, color='blue', label='数据点')
plt.plot(X_test, y_pred, color='red', label='回归线')
plt.xlabel('X')
plt.ylabel('y')
plt.title('线性回归')
plt.legend()
plt.show()
流程图
下面是整个流程的可视化表示:
flowchart TD
A[导入需要的库] --> B[创建或加载数据集]
B --> C[拆分为训练集和测试集]
C --> D[训练线性回归模型]
D --> E[使用模型进行预测]
E --> F[计算决定系数 R²]
F --> G[可视化结果]
饼状图
你也可以使用饼状图展示数据的构成:
pie
title 数据分布
"数据点": 5
"训练集": 4
"测试集": 1
结尾
通过以上步骤,你已经学会了如何用 Python 计算线性回归模型的决定系数 R²。掌握这个技能将帮助你更好地评估和优化你的模型表现。如果你有任何疑问,总是可以回顾这些步骤,或者在网上查找更多相关资料。祝你在数据科学的路上越走越远!
















