我正在尝试使用机器学习来预测股票价格。我在选择要预测多长时间时遇到问题,我希望能够预测未来100-200天。似乎我的代码在过去的200天内切断并在那里添加预测,而不是额外增加200天的预测。例如,如果我有1000天的数据,我想要1000和200 0f的预测,现在它正在切断最后的200并在那里进行预测。为了使我的问题更容易理解,比如我有一个整数1,2,3,4,5,6,7,8,9,10的数据集,我如何告诉预测方法我想要下一个2,10系列中有20个整数?我刚刚开始关注一个教程,并且做得不好,只是说把它放在这里,那里,没有太多洞察一切都在做什么。不确定LinearRegression是否是最好的方法,对您提供的任何见解都很满意,谢谢!
import pandas as pd
import math`enter code here`
import numpy as np
from sklearn import preprocessing, cross_validation, svm
from sklearn.linear_model import LinearRegression
import matplotlib.pyplot as plt
from matplotlib import style
df = pd.read_csv('spyqqqq.csv')
df = df[['Open','High','Low','Adj Close','Volume']]
df['label'] = df['Adj Close'].shift(-200)
df.dropna(inplace=True)
X = np.array(df.drop(['label'],1))
y = np.array(df['label'])
X = preprocessing.scale(X)
X_lately = X[:-200]
X_train, X_text, y_train, y_text = cross_validation.train_test_split(X,y, test_size=0.1)
clf = LinearRegression()
clf.fit(X_train, y_train)
accuracy = clf.score(X_text,y_text)
forcast = clf.predict(X_lately)
print("accuracy ",accuracy)
print("forcast ",forcast)
plt.plot(forcast,linestyle='solid',ms=0,color='blue')
plt.show()