本文的主要内容是基于Python机器学习基础教程决策树部分进行整理和总结。
目的
决策树的主要缺点在于,即使做了剪枝处理,也会出现过拟合的情况,泛化能力相对而言并不高,为此,在大多数的应用中,往往使用集成(ensemble)方法来代替单棵决策树。集成是合并多个机器学习模型来构建更强大模型的方法,目前已经证明随机森林(random forest)作为决策树集成方法对大量分类和回归的数据集都是有效的。
思想
随机森林本质上是许多决策树的集合,,其中每棵树都和其他树有所不同,随机森林的思想在于,保证每棵树的预测都是相对较好的,但是可能对部分数据存在过拟合的情况,我们可以通过构造很多树,并且构造的树都是以不同的方式过拟合,那么我们可以对这些树的结果取平均来降低过拟合。
策略
那么要如何才能保证每棵树有很好的预测并且各有不同呢?随机森林的名字来自于将随机性添加到树的构造过程中,以确保每棵树各有不同,随机森林的随机化方法有两种:
-
通过选择构造书的数据点,实现的方法叫做随机采样(booststrap sample),从n_samples个数据点中有放回的重复抽取一个样本,并且抽取n_samples次,也就是说每个数据点是会被多次抽取的,有的数据点可能一次也不会被抽到(通过数学证明这类样本占到1/3),这样就会生成一个数据点数量和原数据集数量相同的样本集合;
-
通过选择每次划分测试的特征:仅使用随机采样的方法生成随机森林的方法是不够的&