利用python实现可决 系数R2去度量样本回归线对样本观测值的拟合优度
时间: 2024-02-16 09:00:19 浏览: 59
python 线性回归分析模型检验标准–拟合优度详解
5星 · 资源好评率100%
要使用 Python 实现可决系数 R2 去度量样本回归线对样本观测值的拟合优度,可以使用 scikit-learn 库和 numpy 库。具体实现步骤如下:
1. 导入必要的库:
```python
from sklearn.linear_model import LinearRegression
from sklearn.metrics import r2_score
import numpy as np
```
2. 准备数据。假设有一组样本数据,其中 x 表示自变量,y 表示因变量,将它们分别存放在 numpy 数组 x 和 y 中:
```python
x = np.array([1, 2, 3, 4, 5])
y = np.array([2, 4, 6, 8, 10])
```
3. 训练回归模型,并进行预测。使用 LinearRegression 类来训练回归模型,并用它来预测 y 值:
```python
model = LinearRegression()
model.fit(x.reshape(-1, 1), y)
y_pred = model.predict(x.reshape(-1, 1))
```
4. 计算可决系数 R2。使用 r2_score 函数来计算可决系数 R2:
```python
r2 = r2_score(y, y_pred)
```
5. 输出结果。最后,输出可决系数 R2 的值:
```python
print('R2 score:', r2)
```
完整代码如下:
```python
from sklearn.linear_model import LinearRegression
from sklearn.metrics import r2_score
import numpy as np
# 准备数据
x = np.array([1, 2, 3, 4, 5])
y = np.array([2, 4, 6, 8, 10])
# 训练回归模型,并进行预测
model = LinearRegression()
model.fit(x.reshape(-1, 1), y)
y_pred = model.predict(x.reshape(-1, 1))
# 计算可决系数 R2
r2 = r2_score(y, y_pred)
# 输出结果
print('R2 score:', r2)
```
输出结果为:
```
R2 score: 1.0
```
表示样本回归线对样本观测值的拟合优度非常好。
阅读全文