本章主要讲述了“集成学习”和“随机森林”两个方面。html
重点关注:bagging/pasting、boosting、stacking三个方法。git
首先,提出一个思想,若是想提高预测的准确率,一个很好的方法就是用集成的方法。让多种预测器尽量相互独立,使用不一样的算法进行训练。最后以预测器中的预测结果的多数做为最终结果或者将平均几率最高的结果做为最后的结果。github
还有没有其余的方法呢,有的。算法
当训练完成后,咱们的集成函数通常就采用统计的方法便可。显然,咱们能够得出这样的结论,就是每一个预测器单独的误差都高于在原始训练集上的误差,可是经过聚合集成,咱们将会下降误差与方差,得出更精准的答案。决策树通常采用上述方法进行训练。固然,随机森林也能够采用上述方法。函数
sklearn中有相关bagging与pasting的工具包,这里再也不作赘述,请自行查阅相关文档。提示:使用BaggingClassifier类进行调用。工具
Adaboost方法,思想就是更多地关注前序拟合不足地训练实例。从而使得新地预测器不断地愈来愈专一于难缠的问题。能够发现,该方法是一种存在时序关系的方法,咱们必需要获得前者地训练的状况,而后对数据中对前者状态的分类器拟合很差的数据再次进行训练,而后循环往复。故此,能够得出,这个方法不能并行计算,在拓展方面,不如bagging、boosting。学习
相关推导,请看Scorpio.Lu博主的文章:http://www.javashuo.com/article/p-tkpgxxsp-bh.htmlui
梯度提高法:该方法是逐步在集成中添加预测器,每一个都对其前序作出改正,让新的预测器对前一个的预测器的残差进行拟合。具体的推导,请见刘建平Pinard博主的文章:http://www.javashuo.com/article/p-coowgizi-dv.htmlspa