以下内容来自b站的StatQuest视频,感兴趣的可以直接去看原视频,讲的很好,复杂问题简单化,大大的推!
下面将从一个简单的例子说明RandomForest机制
Step 1、构建自举数据集,bootstrapped dataset
从原始数据集的M个样本中,随机选择N个样本,N < M,并且N个样本中可以重复,也就是有放回的从M个样本中随机选取N个样本,完成一次这样的取样,就得到了一个bootstrapped 数据集。
下面的例子中,从4个样本的数据集随机选择4个可重复的样本。
Step 2、使用bootstrapped dataset创建决策树
我们使用step1 获得的bootstrapped dataset来创建决策树,但是我们不使用数据集全部的特征维数R(该例子中,数据集的特征维数,也叫变量个数为4),而是随机选择r个特征,r < R。
在该例子中,随机选择两个特征,即Good Blood Circulation和Block Arteries,假设Good Blood Circulation 样本区分能力比较强,因此作为该决策树的root,那么其左叶子节点将在剩下的3个特征中随机选择2两个,我们按照决策树的方式完成该tree的建立,只是每一步都在剩下的特征中随机选择特征。
每个决策树的建立都是基于随机样本,决策树的每个节点都是基于随机特征,这两个随机可以生成很多不同的决策树,这些决策树组成了灵活的,功能强大的随机森林。
Step3、随机森林如何使用
由上面我们知道,随机森林包含了很多不同的决策树,在分类时,将待分类样本扔入算法中,每个决策树给出自己的结果,统计所有决策树的结果,最后投票给出最终分类结果。