读取 spiral.txt 文件, 定义线性回归模型 整理训练集数据,并绘制训练模型,打印 R2 得分
时间: 2024-12-19 07:18:40 浏览: 4
在Python中,要读取名为`spiral.txt`的文件并用其数据训练线性回归模型,可以按照以下步骤操作:
首先,你需要导入必要的库:
```python
import numpy as np
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
```
然后,加载文件内容,假设文本文件是一列二维坐标对,每行代表一对值:
```python
# 打开文件并读取数据,这里假定文件是以逗号分隔的数值
with open('spiral.txt', 'r') as file:
data = [list(map(float, line.strip().split(','))) for line in file]
```
接下来,整理数据为特征(X)和目标变量(y):
```python
X = np.array([row[:-1] for row in data])
y = np.array([row[-1] for row in data])
```
划分训练集和测试集:
```python
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42)
```
定义并训练线性回归模型:
```python
model = LinearRegression()
model.fit(X_train, y_train)
```
预测和计算R^2得分:
```python
y_pred = model.predict(X_test)
r2 = r2_score(y_test, y_pred)
print("R2得分:", r2)
```
最后,如果需要可视化训练结果,可以画出实际值与预测值的关系图:
```python
plt.scatter(X_test[:, 0], y_test, color='blue')
plt.plot(X_test[:, 0], y_pred, color='red', linewidth=2)
plt.xlabel('特征1')
plt.ylabel('目标变量')
plt.legend(['实际值', '预测值'])
plt.show()
```
记得替换上述代码中的文件路径和数据预处理部分,以适应实际情况。如果你的数据格式不是预期的,可能需要调整解析数据的部分。
阅读全文