Machine learning 如何利用整体训练样本估计sklearn随机森林中的类概率

Machine learning 如何利用整体训练样本估计sklearn随机森林中的类概率,machine-learning,scikit-learn,random-forest,Machine Learning,Scikit Learn,Random Forest,我想使用scikit learn RandomForestClassifier来估计给定示例属于一组类的概率,当然,在之前的培训之后 我知道我可以用这个方法得到类概率,这个方法将它们计算为 […]森林中树木的平均预测类概率 其中提到: 单个树返回的概率是标准化类 样本落下的叶子的直方图 现在,我读了一些关于概率估计的论文,意识到这不是一个简单的解决方案。根据: 使用相同的示例来种植树木和估计 概率,[…]必然会导致纯粹的(因此 (小)估计集 这很糟糕。解决方案似乎是使用训练集中的所有示例,而不是

我想使用scikit learn RandomForestClassifier来估计给定示例属于一组类的概率,当然,在之前的培训之后

我知道我可以用这个方法得到类概率,这个方法将它们计算为

[…]森林中树木的平均预测类概率

其中提到:

单个树返回的概率是标准化类 样本落下的叶子的直方图

现在,我读了一些关于概率估计的论文,意识到这不是一个简单的解决方案。根据:

使用相同的示例来种植树木和估计 概率,[…]必然会导致纯粹的(因此 (小)估计集

这很糟糕。解决方案似乎是使用训练集中的所有示例,而不是仅使用引导样本中用于生长树的示例

Scikit learn只使用每个树的引导样本来计算每个类的概率估计,对吗是否有人对如何使类概率来自整个随机森林训练集有任何指示?

我假设这需要一些特殊的
子类化,它不将类概率分配给树的叶子,然后使用整个训练集从随机森林分类器分配它们

Scikit learn只使用每个树的引导样本来计算每个类的概率估计,对吗

不,它只使用样本中的部分,因此不会给出非常校准的概率输出(我猜这就是本文所建议的)

您可以使用样本外估计得到更好的概率估计,也许在当前的代码库中也可以轻松做到这一点。也许最好使用校准方法作为后处理(使用袋外样品)

不管怎样,您想要实现的是默认值