Python 基于随机森林的sklearn标定分类器

Python 基于随机森林的sklearn标定分类器,python,scikit-learn,random-forest,Python,Scikit Learn,Random Forest,Scikit有一个非常有用的分类器包装器,称为CalibredClassifier和CalibredClassifierCV,它试图确保分类器的predict_proba函数真正预测概率,而不仅仅是零到一之间的任意数字(尽管可能排名很好) 然而,当使用随机森林时,通常使用oob_决策_函数来确定训练数据的性能,但这在使用校准模型时不再可用。因此,校准应适用于新数据,但不适用于训练数据。我们如何评估训练数据的性能,以确定(例如)过度拟合?显然没有解决方案,因此我向scikit learn发出了请求

Scikit有一个非常有用的分类器包装器,称为
CalibredClassifier
CalibredClassifierCV
,它试图确保分类器的
predict_proba
函数真正预测概率,而不仅仅是零到一之间的任意数字(尽管可能排名很好)


然而,当使用随机森林时,通常使用
oob_决策_函数
来确定训练数据的性能,但这在使用校准模型时不再可用。因此,校准应适用于新数据,但不适用于训练数据。我们如何评估训练数据的性能,以确定(例如)过度拟合?

显然没有解决方案,因此我向scikit learn发出了请求

问题在于,现成的预测是在学习过程中产生的。因此,在
校准分类RCV
中,每个子分类器都有自己的oob决策功能。然而,该决策函数是根据数据的倍数计算的。因此,有必要存储每个oob预测(为不在折叠中的样本保留nan值),然后使用校准转换转换所有预测,然后平均校准的oob预测以创建更新的oob预测

如前所述,我在创建了一个pull请求。不过,在将其合并到软件包中之前可能需要一段时间,因此,如果有人真的需要使用它,请随时使用我的scikit fork learn at