Sklean RandomForest获取OOB示例

时间:2016-12-29 02:30:05

标签: machine-learning scikit-learn classification random-forest

我是Scikit-learn的新手。我正在使用RandomForest

请问我怎样才能获得森林中每棵树的OOB Samble?

RANDOM_STATE = 1708
clf = RandomForestClassifier(warm_start=True, oob_score=True,
                               max_features=None,
                               random_state=RANDOM_STATE)
clf.fit(KDD_data, y)

# Loop through the list of tree of the forest
for tree in clf.estimators_:
    # Get sample used to build the tree

    # Get the OOB sample for that tree

我想获得用于构建森林的每棵树以及剩余袋子样本的样本。

如何获得它?

1 个答案:

答案 0 :(得分:0)

从文档中看,scikit-learn似乎没有公开这个功能。查看文档here,可以在每个RandomForestClassifier的基础上测量oob_score。您循环的每个树都是DecisionTreeClassifier,在查看DecisionTreeClassifiers的文档here时,无法在DecisionTreeClassifier上获取oob_score。此外,我不认为在DecisionTreeClassifier上有一个oob_score是有效的(根据this oob错误的定义来判断)。

关于如何获取用于构建树的样本的另一个问题似乎是有效的,但我也没有看到scikit-learn暴露的方法或属性,这将允许您访问用于构建树的示例树。