随机森林概览:创建,使用和评估

2020-10-09 15:43:16 浏览数 (1)

随机森林由决策树组成。随机森林很容易被创建、使用和解释。

决策树在训练集中的表现较好,但是因其不具有灵活性而在其他外部数据中的表现略差。由许多决策树组成的随机森林更具有灵活性,从而较大地提高了准确预测的能力。

本小节将主要从随机森林的创建、使用和评估进行介绍,最后展示如何对创建随机森林进行参数选择。

1. 创建随机森林

Step 1:创建“bootstrapped”数据集。

假设原始数据集仅有4个样本,利用bootstrap方法创建数据集,即从原始数据集中有放回的随机抽样(抽样样本数与原始数据样本数相同),有可能抽到重复的样本,也有可能不能抽到某个样本。如下,在bootstrapped数据集中,含有2个相同的样本,不含原始数据中的第3个样本。

Step2: 基于bootstrapped数据集,创建决策树。

在创建决策树的每一步中,仅随机选择一部分变量进行创建节点(根节点和内部节点)。在本例中,仅使用2个随机变量进行创建决策树【在后续的学习中,我们将了解如何选择最适随机变量数量】。

  • 在创建根节点的时候,随机选择的两个随机变量为Good Blood Circulation和Blocked Arteries。根据决策树创建的变量选择原理(如Gini不纯度系数)。由于样本数量较少,我们在此处假设Good Blood Circulation的分类效果更优,将其作为决策树的根节点。
  • 接着,在余下的3个变量中,又随机选择两个变量(chest pain和weight),选择分类效果最优的变量作为节点。
  • 接着,在余下的2个变量中,继续选择两个变量进行创建节点。直至决策树创建成功。如果变量较多和样本数较多,需要多次随意选择变量进而创建节点。

Step3: 反复重复以上步骤,即不断重复创建新的bootstrapped数据集和创建新的决策树

如果重复的次数为100次,那么将创建一片含有100棵决策树的随机森林。这里仅展示其中6个决策树。

随机森林的意义:因为bootstrapped数据集和创建决策树的每一步仅考虑部分随机变量,故随机森林由各种各样的决策树组成。决策树的多样性使得随机森林较单一决策树更有效。

2. 随机森林的使用

假设基于前面的数据,我们已创建随机森林。

现在我们有一个新的患者,我们需要通过一些已知的变量来预测其是否患有心脏病。

将该患者的数据放进随机森林中(如,6棵树的随机森林),每一棵树都可以预测出一个结果。基于每一棵数的预测结果,如第一棵树预测为“yes”,第二棵树预测为“yes”......如果随机森林中,大多数决策树的预测结果为“yes”,5个决策树认为“yes”,仅1个决策树认为是“no”,那么基于随机森林的预测结果就为“yes”,即认为该患者患有心脏病。

重抽样数据和综合多个模型结果进行预测,这样的方法称为装袋算法(Bagging)。

3. 随机森林的性能评价

袋外数据与袋外数据集:在第一棵决策树中,原始数据中的第三个样本未被纳入bootstrapped数据集,被称为袋外样本(out-of-bag,OBB)。这样的样本组成一个新的数据集,称为袋外数据集(out-of-bag dataset)。

总得来说,将会有1/3的原始数据未被纳入bootstrapped数据集。故如果原始数据集更大,未纳入bootstrapped数据集的样本将会更多。

因为袋外数据未被用来创建决策树,故我们可将袋外数据代入不含该样本的决策树(共4个不含该样本的决策树),判定其是否能将该样本进行正确分类。从而判定随机森林的分类效能。

  • 第一棵决策树:在第一棵不含该样本的决策树中,该样本被分类为NO,故第一棵树能够实现对其的正确分类。
  • 第二、三和四棵决策树:第二将其错误分类为YES,第三和四棵决策树将其正确分类为NO。
  • 总结:3棵决策树能正确分类,1棵决策树未能正确分类,故该样本能被随机森林正确分类。

同第一棵决策树的袋外样本一样,将其他决策树的袋外样本带入不含该袋外样本的决策树,从而判定该随机森林能够将其正确分类。

  • 被随机森林正确分类的袋外数据的比例(被分类正确数 / 总数)评估随机森林的准确性;
  • 被随机森林错误分类的袋外数据比例记作袋外误差率(out-of-bag error,被分类错误数 / 总数)

4. 创建随机森林的参数选择

基于前面的学习,我们已知如何创建、使用和评估随机森林。

接下来,我们就可以更加详细的了解,将评估的随机森林性能反馈给创建随机森林:如何选择创建决策树时每一步考虑的随机变量个数。

  • 每一步使用2个随机变量创建决策树(eg,Good Blood Circulation和Blocked Arteries)。重复步骤创建随机森林。
  • 每一步使用3个随机变量创建决策树。重复步骤创建随机森林。
  • 比较:每一步使用2个随机变量的随机森林与每一步使用3个随机变量的随机森林的袋外误差率比较。
  • 继续创建不同随机变量数量的随机森林,将它们进行比较,从而选出最佳精准的随机森林。也就是说,在评估已创建随机森林性能后,通过改变创建决策树时每一步考虑的随机变量个数,创建新的随机森林,并将创建的随机森林进行相互比较,最终选出最优的随机森林。

参考视频:https://www.youtube.com/watch?v=J4Wdy0Wc_xQ&list=PLblh5JKOoLUICTaGLRoHQDuF_7q2GfuJF&index=42

编辑:吕琼

校审:罗鹏

0 人点赞