随机森林 sklearn- OOB 分数

Random forest sklearn- OOB score

在 python 的 sklearn 的 RandomForestClassifier 中包含 oob_Score =True 和不包含 oob_score 有什么区别?袋外 (OOB) 误差是使用不包含在各自 bootstrap 样本右中的树的预测计算的每个误差的平均误差,那么如何包含参数 oob_score= True影响平均误差的计算。

对于每棵树,只选择一部分数据用于构建树,即训练。其余样品是袋外样品。这些袋外样本可以在训练期间直接用于计算测试精度。如果激活该选项,将计算 "oob_score_" 和 "oob_prediction_"。

无论您是否激活该选项,训练模型都不会改变。显然,由于RF的随机性,申请两次模型不会完全一样,但这与"oob_score"选项无关。 不幸的是,scikit-learn 选项不允许您设置 OOB 比率,即用于构建树的样本百分比。其他库(例如 C++ Shark http://image.diku.dk/shark/sphinx_pages/build/html/rest_sources/tutorials/algorithms/rf.html)就是这种情况。