我在 skicit-learn 中创建了一个随机森林分类模型,但我不确定如何最终确定我的预测。
我已经建立了模型,它在测试数据上显示出良好的结果。我的平均准确率为 85%。预测股价是涨还是跌。我使用了来自雅虎财经的数据,包括开盘价、最高价、最低价、收盘价和成交量。从那里我制定了一些技术指标,例如 RSI、ROC、随机振荡器(快速和慢速)、macd、平衡量和 200 天移动平均线,并将这些用作随机森林分类器中的特征(自变量)。我创建了另一列,价格上涨时显示 1,价格下跌时显示 0。该列被用作因变量。(我想预测的事情)
我现在想知道的是如何将预测运行到未知的未来?目前,我已将数据分为训练和测试,在训练数据集上训练模型,然后在测试数据集上使用预测函数。该模型表现良好,经过更多调整后即可使用。
但是怎么做?我似乎无法在 sklearn 随机森林文档中找到有关如何实际运行未来预测的任何地方(而不是在测试数据上),例如从数据的最后一天开始的接下来的 10 天。我希望你明白我的意思。下面是我的代码。
这是我的代码:
X_train2, X_test2, y_train2, y_test2 =
train_test_split(data2.drop('prediction',axis=1),data2.prediction,test_size=0.02)
from sklearn.ensemble import RandomForestClassifier
model1 = RandomForestClassifier(random_state=13)
model1.fit(X_train2,y_train2)
predicted = model1.predict(X_test2)
model1.score(X_test2, y_test2)
from sklearn.metrics import roc_auc_score
probabilities = model1.predict_proba(X_test)
probabilities
roc_auc_score(y_test2, probabilities[:,1])
from sklearn.metrics import confusion_matrix
confusion_matrix(y_test2, predicted)