python线性回归方法实现股票预测并给出一个案例
时间: 2024-01-27 08:03:33 浏览: 84
在Python中,可以使用scikit-learn库来实现线性回归算法。下面是一个简单的股票价格预测案例:
假设我们要预测某股票的收盘价,使用过去5天的开盘价、最高价、最低价和成交量等信息。我们可以先收集过去的数据,然后使用线性回归算法来建立预测模型。
1. 收集数据
首先,我们需要收集过去一段时间内该股票的开盘价、最高价、最低价、收盘价和成交量等信息。可以使用pandas库来读取和处理数据。例如,我们可以使用以下代码读取CSV文件中的数据:
```python
import pandas as pd
data = pd.read_csv('stock.csv')
```
2. 数据预处理
我们需要将数据分成训练集和测试集,以便测试模型的准确性。可以使用train_test_split函数将数据集分成训练集和测试集。
```python
from sklearn.model_selection import train_test_split
X = data[['Open', 'High', 'Low', 'Volume']].values
y = data['Close'].values
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42)
```
3. 建立模型
接下来,我们使用线性回归算法来建立预测模型。可以使用LinearRegression类来建立模型,并使用fit方法拟合训练数据。
```python
from sklearn.linear_model import LinearRegression
lr = LinearRegression()
lr.fit(X_train, y_train)
```
4. 模型评估
我们可以使用测试集来评估模型的准确性。可以使用score方法来计算模型的R²值。
```python
score = lr.score(X_test, y_test)
print('R² score:', score)
```
5. 预测股票价格
最后,我们可以使用模型来预测股票价格。可以使用predict方法来预测新的数据,例如:
```python
today_data = [[100, 120, 90, 1000000]]
predicted_price = lr.predict(today_data)
print('Predicted price:', predicted_price[0])
```
完整代码示例:
```python
import pandas as pd
from sklearn.model_selection import train_test_split
from sklearn.linear_model import LinearRegression
# 读取数据
data = pd.read_csv('stock.csv')
# 将数据分成训练集和测试集
X = data[['Open', 'High', 'Low', 'Volume']].values
y = data['Close'].values
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42)
# 建立模型
lr = LinearRegression()
lr.fit(X_train, y_train)
# 评估模型
score = lr.score(X_test, y_test)
print('R² score:', score)
# 预测股票价格
today_data = [[100, 120, 90, 1000000]]
predicted_price = lr.predict(today_data)
print('Predicted price:', predicted_price[0])
```
阅读全文