【问题标题】:High OOB error for Random forest with Python使用 Python 的随机森林的高 OOB 错误
【发布时间】:2018-09-15 19:39:44
【问题描述】:

我正在尝试在 Python 中使用来自 scikit learn 的随机森林分类器来预测股票走势。我的数据集有 8 个特征和 1201 条记录。但是在拟合模型并使用它进行预测之后,它出现了 100% 的准确率和 100% 的 OOB 错误。我将 n_estimators 从 100 修改为一个较小的值,但 OOB 错误刚刚下降了几个 %。这是我的代码:

from sklearn.ensemble import RandomForestClassifier
from sklearn.metrics import accuracy_score
from sklearn.model_selection import train_test_split
import numpy as np
import pandas as pd

#File reading
df = pd.read_csv('700.csv')
df.drop(df.columns[0],1,inplace=True)
target = df.iloc[:,8]
print(target)

#train test split
X_train, X_test, y_train, y_test = train_test_split(df, target, test_size=0.3)

#model fit
clf = RandomForestClassifier(n_estimators=100, criterion='gini',oob_score= True)
clf.fit(X_train,y_train)

pred = clf.predict(X_test)
accuaracy = accuracy_score(y_test,pred)
print(clf.oob_score_)
print(accuaracy)

如何修改代码以减少 oob 错误?谢谢。

【问题讨论】:

  • oob_score_ 是得分,而不是错误。越高越好。 100% 准确率和 100% oob_score 对我来说似乎很好。您确定要减少它,还是在谈论其他事情?

标签: python machine-learning classification random-forest prediction


【解决方案1】:

如果您想检查错误,请使用/修改您的代码,如下所示:

oob_error = 1 - clf.oob_score_

【讨论】:

    猜你喜欢
    • 2017-09-24
    • 2019-03-14
    • 2018-06-06
    • 2019-07-25
    • 2017-05-13
    • 2021-06-17
    • 2020-09-22
    • 2016-10-26
    • 2013-12-03
    相关资源
    最近更新 更多