利用随机森林来预测茅台收盘价的代码
时间: 2023-10-03 22:09:31 浏览: 13
基于随机森林RF未来预测,RF时序多步预测,单列数据递归预测 评价指标包括:R2、MAE、MSE、RMSE等,代码质量极高
下面是一个简单的利用随机森林来预测茅台收盘价的代码示例:
```python
# 导入需要的库
import pandas as pd
from sklearn.ensemble import RandomForestRegressor
from sklearn.model_selection import train_test_split
# 读取数据集
df = pd.read_csv('maotai.csv')
# 按时间升序排列
df = df.sort_values('date')
# 提取特征和目标变量
X = df.drop(['date', 'close'], axis=1)
y = df['close']
# 划分训练集和测试集
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42)
# 定义随机森林回归模型
rf = RandomForestRegressor(n_estimators=100, random_state=42)
# 训练模型
rf.fit(X_train, y_train)
# 预测测试集结果
y_pred = rf.predict(X_test)
# 输出模型评估结果(均方误差)
mse = ((y_pred - y_test) ** 2).mean()
print('MSE:', mse)
```
这个代码示例假设你已经有了一个名为`maotai.csv`的数据集,其中包含了茅台的历史股价数据,包括日期、开盘价、最高价、最低价、收盘价等。我们读取这个数据集,按时间升序排列,然后提取出除日期和收盘价之外的所有特征作为模型的输入,将收盘价作为目标变量。使用`train_test_split`函数将数据集划分为训练集和测试集,然后定义一个随机森林回归模型,设置100个决策树,随机种子为42,并训练模型。最后使用训练好的模型对测试集进行预测,计算预测结果与真实结果之间的均方误差,并输出评估结果。
阅读全文