前面讲了多种常见的决策树算法,但在实际工作中,基本不会使用单棵决策树进行训练,因为一颗树很容易过拟合,而且数据量大的时候,单棵树的体积会很大,执行效率也会很慢,因此不推荐使用单棵决策树用于实际工作。
通常我们会把决策树作为分类或者回归的基分类器,然后整合多个决策树的决策结果作为最终的output,举个不恰当的例子,在找工作的时候,可能会犹豫去哪个公司,
可能A公司给的工资比较高但相对比较累,
B公司相对清闲,但需要出差
C公司是大厂,但工资较低
这个时候就要根据不同的属性,进行决策。我们也可以根据之前很多个学长学姐的建议来做参考,最终做出自己的决定,这就是一个集成学习的思想。
我们把每个找过工作的学长学姐当作一个决策树,把我们所面临的特征数据分别用不同的决策树进行训练,得到N个基分类器,最终我们可以对多个分类器的结果简单的取众数,或者加权平均,或者去掉最大值和最小值后取众数。这是一种集成学习的思想。
随机森林
随机森林是一种以CART为基分类器的Bagging算法,如果处理分类问题通常取众数作为输出结果,如果是回归问题,取平均值作为输出结果。
构建过程
1 ,在给定的数据集中选区k个属性,1<=k<=d(全部属性)
2,k为1表示随机选取属性作为划分
3,如果k为d,则会构建多棵一样的决策树
随机森林分类效果的好坏主要和两部分有关
1,森林中单棵树的分类强度,每棵树的分类强度越大,最终的分类效果自然越好
2,树之间的相关度,如果相关度越大,分类性能越差