我有时间序列数据,我试图预测第二天的现货价格。我的数据如下:
我在f_area上进行了groupby,最终得到了multiindex。现在,我正在尝试使用RandomForestRegressor进行预测。
from sklearn.model_selection import train_test_split
from sklearn.ensemble import RandomForestRegressor
from sklearn.metrics import mean_squared_error
y = area3['y'].values
X = area3[['f_price', 'day_of_week', 'day_of_month']]
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.20, random_state=42)
model = RandomForestRegressor()
model = model.fit(X_train, y_train)
y_pred = model.predict(X_test)
现在当我尝试绘制y_test(实际值)和y_pred(预测值)
fig, ax = plt.subplots()
ax.plot(y_test)
ax.plot(y_pred)
我想要的是在X轴上有日期,但由于有多个索引,所以我无法这样做。如何执行此操作或删除多索引?我试图通过reset_index删除多索引,但在我的情况下不起作用
答案 0 :(得分:0)
首先取一个变量并将日期列存储为列表形式
注意:确保您的列表 c
长度和 y_pred
、y-test
大小相同。
fig=plt.figure()
c=area3['f_date'].to_list()
plt.plot(c,y_test)
plt.plot(c,y_pred)
plt.show()