线性回归预测股价防止过拟合代码
时间: 2023-07-16 07:16:02 浏览: 57
以下是一个简单的线性回归预测股价并防止过拟合的代码:
```python
import pandas as pd
import numpy as np
from sklearn.linear_model import LinearRegression
from sklearn.model_selection import train_test_split
from sklearn.preprocessing import StandardScaler
# 读取数据
data = pd.read_csv('stock_data.csv')
# 提取特征和标签
X = data.iloc[:, :-1].values
y = data.iloc[:, -1].values
# 划分训练集和测试集
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=0)
# 特征缩放
sc = StandardScaler()
X_train = sc.fit_transform(X_train)
X_test = sc.transform(X_test)
# 线性回归模型
regressor = LinearRegression()
# 训练模型
regressor.fit(X_train, y_train)
# 预测结果
y_pred = regressor.predict(X_test)
# 评估模型
score = regressor.score(X_test, y_test)
print('R-squared:', score)
```
其中,`stock_data.csv` 是包含股价数据的 CSV 文件。我们首先使用 Pandas 库读取数据,然后使用 `train_test_split` 函数划分训练集和测试集。接下来,我们使用 `StandardScaler` 对特征进行缩放,这有助于防止过拟合。最后,我们使用 `LinearRegression` 训练模型并进行预测和评估。