决策树的集合
随机森林原理上就是多颗决策树表决结果。RandomForestClassifier在初始化的时候直接使用了DecisionTreeClassifier来初始化自己的分类器。这里RandomForestClassifier其实也是BaseEnsemble的一个子类,通过对已有的分类器来做各种组合。
然后通过复制n个(n_estimators,默认10个)决策树对象来构造森林。
并行计算
通过Parallel类来对所有决策树并行计算。Parallel是sklearn中封装的并行方法,支持进程和线程选择。这个模块计划在将来独立做一个阅读。这里基本的使用方法就是 Parallel:设置并行参数,delayed:设置运行函数以及公共参数, for … in …:迭代每个线程需要的主参数
基于学习器的多样性
西瓜书中的一段讲解,通过样本扰动+属性扰动来提高泛化性能:
这里样本扰动指通过自助采样使每棵树的输入样本产生区别,属性扰动指在选择特征进行切分时,从一部分特征中进行选择。