【发布时间】:2018-07-12 16:36:46
【问题描述】:
我一直在用 sklearn RandomForestClassifier 做一些实验。我正在多批次训练多棵树并使用以下方法合并它们:
def combine_rfs(rfList):
rf1 = rfList[0]
for i in range(1,len(rfList)):
rf1.estimators_ += rfList[i].estimators_
rf1.n_estimators = len(rf1.estimators_)
return rf1
我注意到,如果我在 A 类和 B 类中给出相同数量的样本,最终树的分类往往是 A 类的 40-60% 和 B 类的 40-60%,尽管我会预计它在 A 中会更多,而在 B 中会更少。
基本上我看到的是,A/B 中的样本比例将决定这些类别的分类比例,无论这些类别在测试数据中的实际比例是多少。
如何减轻这种影响?
【问题讨论】:
-
很遗憾,我无法为您提供解决方案,但可能会提示您正确的方向。听起来像一个经典的类不平衡问题,所以也许搜索更多关于随机森林中的类不平衡主题的信息可以帮助你。
标签: python machine-learning scikit-learn random-forest