决策树学习算法如何处理缺失值(幕后)

机器算法验证 缺失数据 大车
2022-01-28 02:24:44

决策树学习算法用来处理缺失值的方法有哪些。

他们是否只是简单地使用称为缺失的值来填补空缺?

谢谢。

1个回答

各种决策树使用了几种方法。简单地忽略缺失值(如 ID3 和其他旧算法所做的)或将缺失值视为另一个类别(在名义特征的情况下)并不能真正处理缺失值。然而,这些方法被用于决策树开发的早期阶段。

缺失数据的实际处理方法在评估拆分时不使用具有缺失值的数据点。但是,当创建和训练子节点时,这些实例会以某种方式分布。

我知道以下将缺失值实例分配给子节点的方法:

  • 全部转到已经拥有最多实例数的节点(CART,不是主要规则)
  • 分配给所有子节点,但权重减小,与每个子节点(C45 等)的实例数成正比
  • 随机分布到只有一个子节点,最终根据分类分布(我已经看到在 C45 和 CART 的各种实现中以更快的运行时间)
  • 构建、排序和使用代理将实例分发到子节点,其中代理是输入特征,最类似于测试特征如何将数据实例发送到左或右子节点(CART,如果失败,则使用多数规则)