我正在使用 scikit-learn 使用随机森林和随机树分类器来预测股票交易方向。我的特点是像简单移动平均线这样的指标。我的问题是,对于具有默认参数的两种算法,我得到的预测相对较差(大约 50%)。我怎样才能提高准确性?代码如下:
X = data_from_csv[['RSI', 'CCI', '5SMA', '10SMA', 'ROC', 'Momentum', '%K', '%D']].astype(np.float32)
y = data_from_csv['Direction1'].astype(np.float32)
X_train, X_test, y_train, y_test = train_test_split(X,y,test_size=0.2)
rf = RandomForestClassifier()
rf.fit(X_train,y_train)
y_pred = rf.predict(X_test)
print metrics.accuracy_score(y_test, y_pred), 'train/test split random forest'
X_train, X_test, y_train, y_test = train_test_split(X,y,test_size=0.2)
rt = tree.DecisionTreeClassifier()
rt.fit(X_train,y_train)
y_pred = rt.predict(X_test)
print metrics.accuracy_score(y_test, y_pred), 'train/test split decision tree'
最佳答案
最可能的情况是您的训练数据没有很大的预测值(value)。鉴于您正在尝试“预测股票交易方向”,这应该不足为奇,因为这个问题有点无法解决。
关于python-2.7 - scikit learn 随机森林给出了相对较差的预测,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31753166/