我有一个非常大的数据集,想在数据集的分区上训练几个随机森林模型,然后对这些模型进行平均以得到我的最终分类器。由于随机森林是一种集成方法,因此这是一种直观上合理的方法,但我不确定是否可以使用 scikit-learn 的随机森林分类器来实现。有任何想法吗?
我也愿意使用另一个包中的随机森林分类器,只是不确定在哪里寻找。
最佳答案
这是我能想到的:
Pandas + Scikit: 您可以自定义自己的引导算法,从整个数据集中随机读取合理大小的样本,并在其上拟合 scikit 树(如果您在每个节点上随机化特征,那就完美了)。然后对每棵树进行腌制,最后将它们平均以得出随机森林。
Graphlab + SFrame Turi有自己的大数据库(SFrame,类似于Pandas)和机器学习库(graphlab,非常类似于scikit)。环境非常优美。
Blaze-Dask对于某些人来说可能有一点陡峭的学习曲线,但这将是一个有效的解决方案。
您也可以使用内存映射 numpy 选项,但它会比前三个选项更麻烦,而且我从未这样做过,所以我将把这个选项留在这里。
总而言之,我会选择选项 2。
关于python - 在 scikit-learn 中对多个随机森林模型进行平均,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47946942/