决策树可能会受到高度变异的影响,使得结果对所使用的特定测试数据而言变得脆弱。
根据您的测试数据样本构建多个模型(称为套袋)可以减少这种差异,但是树本身是高度相关的。
随机森林是套袋(方法)的延伸,除了基于多个测试数据样本构建树木之外,它还限制了可用于构建树木的特征,使得树木间具有差异。这反过来可以提升算法的表现。
在本教程中,您将了解如何在Python中从头开始实现随机森林算法。
完成本教程后,您将知道:
套袋决策树和随机森林算法的区别。
如何构造更多方差的袋装决策树。
如何将随机森林算法应用于预测建模问题。
让我们开始吧。
2017年1月更新:将cross_validation_split()中fold_size的计算更改为始终为整数。修复了Python 3的问题。
2017年2月更新:修复了build_tree中的错误。
2017年8月更新:修正了基尼计算中的一个错误,增加了群组大小(基于迈克尔!)。