对于一个项目,我对时间序列进行了10倍的交叉验证。为了可视化我的结果,我创建了一个这样的图:
为了更好地理解我的情节,我宁愿在我的x轴上使用折叠(1-10),而不是样本。
由于我使用时间序列数据这一事实,我的10倍交叉验证具有以下结构:
我应该看起来像这样:
情节应如何显示] 2
这可能吗?如果可以,怎么做?
这是我的编码:
tscv = TimeSeriesSplit(n_splits=10)
print(tscv)
X = mergedf['AnzahlTweets']
y = mergedf['Kurs']
X=X.values.reshape(-1,1)
y=y.values.reshape(-1,1)
linreg=LinearRegression()
rmse=[]
prediction=np.zeros(y.shape)
for train_index, test_index in tscv.split(X):
X_train, X_test = X[train_index], X[test_index]
y_train, y_test = y[train_index], y[test_index]
linreg.fit(X_train,y_train)
y_pred=linreg.predict(X_test)
prediction[test_index]=y_pred
rmse.append(np.sqrt(metrics.mean_squared_error(y_test, y_pred)))
print('RMSE: %.10f' % np.sqrt(metrics.mean_squared_error(y_test, y_pred)))
pl.plot(y,label='Actual')
pl.plot(prediction, color='red',label='Predicted',)
pl.ylabel('Price')
pl.xlabel('Sample')
pl.legend()
pl.show()
提前致谢!
感谢您提及现有问题。这有助于解决我问题的一部分。另一部分是是否可以改变样本'在x轴上折叠',以便我的情节分成10倍。