python机器学习算法根据训练数据预测测试数据中未来的开盘价,收盘价,最高价,最低价及成交量,模型评价指标使用R2、MAE和MSE,代码
时间: 2024-01-12 12:02:52 浏览: 222
使用BP神经网络和LSTM预测股票价格,Python
5星 · 资源好评率100%
好的,以下是一个简单的Python机器学习算法,用于根据历史数据预测股票的未来价格和成交量。该算法使用线性回归模型,并使用R2、MAE和MSE等指标来评估模型的性能。代码如下:
```python
import pandas as pd
from sklearn.linear_model import LinearRegression
from sklearn.metrics import r2_score, mean_absolute_error, mean_squared_error
# 加载训练数据
train_data = pd.read_csv("train.csv")
# 加载测试数据
test_data = pd.read_csv("test.csv")
# 拆分训练数据的特征和标签
X_train = train_data.drop(['Open', 'High', 'Low', 'Close', 'Volume'], axis=1)
y_train = train_data[['Open', 'High', 'Low', 'Close', 'Volume']]
# 拆分测试数据的特征和标签
X_test = test_data.drop(['Open', 'High', 'Low', 'Close', 'Volume'], axis=1)
y_test = test_data[['Open', 'High', 'Low', 'Close', 'Volume']]
# 构建线性回归模型并拟合训练数据
model = LinearRegression()
model.fit(X_train, y_train)
# 使用模型对测试数据进行预测
y_pred = 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 score: {}".format(r2))
print("Mean Absolute Error: {}".format(mae))
print("Mean Squared Error: {}".format(mse))
```
在上面的代码中,我们首先加载了训练数据和测试数据。然后,我们使用`drop()`方法将训练和测试数据中的特征和标签分开。接下来,我们使用`LinearRegression()`函数构建了一个线性回归模型,并使用`fit()`方法拟合了训练数据。最后,我们使用`predict()`方法对测试数据进行预测,并使用`r2_score()`、`mean_absolute_error()`和`mean_squared_error()`函数计算了模型的评价指标。
阅读全文