随机森林

0. 决策树的不足

在机器学习方法中,任何一次实现都是基于一个特定的数据集,而这个数据集可能只是训练集中的一次随机抽样,所以才有了所谓的10折交叉验证等方法。在不使用该方法的情况下,很多机器学习算法受到了这种随机性的影响,因此,得到的模型也具有一定的偶然性。而随机森林通过与该方式结合,在一定程度提高了准确性和推广能力。


1. 自助法

随机森林_第1张图片
自助法

2. 随机森林

2.1 算法流程

  1. 对样本数据进行自举法重采样,得到多个样本集,即:每次从原来的个训练样本中又放回的随机抽取个样本(包括可能重复的样本)。
  2. 利用重采样样本集作为训练样本构造一个决策树,在构造决策树的过程中,每次从所有候选特征中随机选择个特征(不一定要考虑所有的特征,这是与普通决策树的区别所在),作为当前节点下决策的备选特征,从该特征中进行划分。
  3. 重复步骤1,,2,得到一定的数量的决策树后,通过一种方法对这些树的输出进行投票,得到票数最多的类作为最终的输出结果。

2.2 模型评估与参数选择

在第一节中提到,自助法大概有的数据无法被用于训练,于是,我们可通过包外估计对算流程步骤2中的值进行选择,确定最佳的值。


3. 缺失数据

一般来说,缺失的特征可能会出现在两种情况下:

  1. 在训练集中有部分数据的特征值缺失。
  2. 在待分类的样本中,有部分数据的特征值缺失。

3.1 训练数据特征缺失

1. 根据完整样本填充数据

  • 离散值:选取该特征中所占比例较大的特征数据。
  • 连续值:取该特征的中位数或是均值。
    随机森林_第2张图片
    在这里插入图片描述

    在上图中,第四条数据的Blocked Arteries和Weight特征缺失。根据前三条数据的信息,在特征Blocked ArteriesNo最多,Weight中位数为180,因此,填补数据为:
    随机森林_第3张图片
    在这里插入图片描述

2. 构造随机森林,并计算所有数据在随机森林模型上的输出结果,构造邻近矩阵(proximity)记录每条数据之间的相似程度。[图片上传失败...(image-8b7e94-1569722308083)]

由于第三条数据和第四条数据结束与同一叶子节点,于是构造的邻近矩阵为:
[图片上传失败...(image-c1d711-1569722308083)]自助法
同样的,对于第二个决策树,假设有:
[图片上传失败...(image-9b562b-1569722308083)]
于是更新矩阵为:
[图片上传失败...(image-38150e-1569722308083)]
依次类推:
假设经过个决策树后,邻近矩阵的结果为:
[图片上传失败...(image-7b05f5-1569722308083)]
相似矩阵中每个元素均除以决策树个数后,结果如下:
[图片上传失败...(image-22284-1569722308083)]

3. 计算每个特征值的权重

特征值的权重计算公式为:

在公式(3.1)中,代表第个特征的第个特征值,代表第个特征值在完整数据中所占的比例,代表第个特征的近似程度。
举个栗子:在特征Blocked Arteries中,有yesno两个特征值,其中:
对于yes来说:

随机森林_第4张图片
在这里插入图片描述

对于 no来说:
随机森林_第5张图片
在这里插入图片描述

所以:,,因此,为 no的可能性更大些。
同样的,对于 Weight有:
随机森林_第6张图片
在这里插入图片描述

最后的插补数据结果如下:
随机森林_第7张图片
在这里插入图片描述

4. 重复步骤1~3,直到所有数据不再变化为止。

3.2 测试数据缺失

[图片上传失败...(image-e4172e-1569722308083)]

1. 假定标签值的取值

随机森林_第8张图片
在这里插入图片描述

2. 假定特征值的取值

随机森林_第9张图片
在这里插入图片描述

3.在模型中运行该数据,统计结果

在决策树中,输出结果即可确定目标值的缺失特征值以及标签值

4. 参考文献

  • 《西瓜书》
  • 《模式识别(第三版)》

你可能感兴趣的:(随机森林)