python机器学习算法根据训练数据预测测试数据中未来的开盘价,收盘价,最高价,最低价及成交量,模型评价指标使用R2、MAE和MSE,代码
时间: 2024-01-12 20:02:44 浏览: 87
好的,以下是一个简单的基于Python的机器学习算法来预测股票价格的示例代码,使用的算法是随机森林回归模型,评价指标为R2、MAE和MSE:
```python
# 导入所需的库
import pandas as pd
import numpy as np
from sklearn.ensemble import RandomForestRegressor
from sklearn.metrics import r2_score, mean_absolute_error, mean_squared_error
from sklearn.model_selection import train_test_split
# 读取股票数据
stock_data = pd.read_csv('stock_data.csv')
# 数据预处理
X = stock_data.drop(columns=['Date', 'Open', 'Close', 'High', 'Low', 'Volume'])
y = stock_data[['Open', 'Close', 'High', 'Low', 'Volume']]
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42)
# 训练模型
rf_model = RandomForestRegressor(n_estimators=100, random_state=42)
rf_model.fit(X_train, y_train)
# 预测测试数据
y_pred = rf_model.predict(X_test)
# 评价模型
r2 = r2_score(y_test, y_pred)
mae = mean_absolute_error(y_test, y_pred)
mse = mean_squared_error(y_test, y_pred)
print('R2:', r2)
print('MAE:', mae)
print('MSE:', mse)
```
其中,`stock_data.csv` 是包含股票历史数据的 CSV 文件,需要根据实际情况进行替换。在数据预处理中,我们将日期列和目标变量(开盘价、收盘价、最高价、最低价、成交量)从特征矩阵 `X` 和目标矩阵 `y` 中分离出来,并将数据集划分为训练集和测试集。然后使用随机森林回归模型 `RandomForestRegressor` 进行训练,并使用 `predict` 方法对测试数据进行预测。最后,使用 `r2_score`、`mean_absolute_error` 和 `mean_squared_error` 三个函数分别计算模型的 R2、MAE 和 MSE 评价指标,并输出结果。
阅读全文