我目前正在用 Python 实现 scikit-learn 的RandomForestRegressor,并且正在为为什么我偶尔会得到负的袋外分数而摸不着头脑。据我所知,从属性“_oob_score”(“使用袋外估计获得的训练数据集的分数”)的给定描述以及我迄今为止阅读的所有内容中,袋外评分应该是正值。
额外信息:
我得到的所有分数,无论是正面的还是负面的,都非常小(< 0.001;很多都是 < 0.0001)。我也不确定这是否正常,但总的来说反应也很小。
我正在使用 500 棵树,并使用不同的 min_samples_leaf 和 max_features。当 min_samples_leaf 超过 ~500 时,我似乎得到了负值。
大约有一百个布尔列被创建来处理分类数据(因此相当稀疏)。相比之下,还有大约 10 个其他数字列。Null 值已用一个大的负数作为数字占位符填充。
我的数据大小约为 1,000,000 行,其中 65% 用于训练数据,其余用于测试。
(我可以提供任何其他信息来提供帮助吗?)
是否有随机森林的袋外得分的统计解释/定义,人们预计负得分是可能的,或者这更有可能是程序的怪癖?