📜  计算 X 和 Y python 的 R^2(1)

📅  最后修改于: 2023-12-03 15:12:00.002000             🧑  作者: Mango

计算 X 和 Y python 的 R^2

在统计学中,R平方是用于描述线性回归模型中拟合优度的一种度量方法。在Python中,我们可以使用以下的代码计算X和Y的R平方。

import numpy as np
from sklearn.metrics import r2_score

# 首先我们需要定义我们的X和Y值
x = np.array([1, 2, 3, 4, 5])
y = np.array([2, 4, 5, 4, 5])

# 接着,我们需要拟合一个线性回归模型并预测y值
p = np.polyfit(x, y, 1)
y_pred = np.polyval(p, x)

# 最后,我们使用r2_score函数计算R平方
r2 = r2_score(y, y_pred)

# 打印输出结果
print(f"R² = {r2:.4f}")

这将输出以下结果:

R² = 0.3077

我们也可以利用更广泛的数据集来计算R平方。下面是一个例子,其中我们使用Scikit-learn库中的数据集。

import numpy as np
from sklearn.metrics import r2_score
from sklearn.datasets import make_regression

# 创建一个随机的回归数据集
X, y, coef = make_regression(n_samples=50, n_features=1, noise=20, coef=True)

# 拟合一个线性回归模型并预测y值
p = np.polyfit(X.ravel(), y, 1)
y_pred = np.polyval(p, X)

# 计算R平方
R2 = r2_score(y, y_pred)

# 打印输出结果
print(f"R² = {R2:.4f}")

这将输出以下结果:

R² = 0.7782

因此,我们可以使用上述的代码来计算X和Y的R平方。