6

使用 Weka 的 C4.5 (J48) 决策树处理缺失特征属性值的最佳方法是什么?在训练和分类过程中都会出现缺失值的问题。

  1. 如果训练实例中缺少值,我是否正确假设我放置了一个“?” 该功能的价值?

  2. 假设我能够成功构建决策树,然后根据 Weka 的树结构用 C++ 或 Java 创建自己的树代码。在分类期间,如果我试图对一个新实例进行分类,我应该为具有缺失值的特征赋予什么值?我如何将树下降到我有未知值的决策节点?

使用朴素贝叶斯会更好地处理缺失值吗?我只会为他们分配一个非常小的非零概率,对吗?

4

2 回答 2

9

来自华盛顿大学 Pedro Domingos 的 ML 课程:

以下是佩德罗针对 的缺失值提出的三种方法A

  • A在排序到节点的其他示例中分配最常见的值n
  • A在具有相同目标值的其他示例中分配最常见的值
  • 为的p_i每个可能值分配概率;将示例的一部分分配给树中的每个后代。v_iAp_i

现在可以在此处查看幻灯片和视频。

于 2012-11-28T04:53:49.743 回答
2

另一种方法是将缺失值保留为“?”,而不将其用于信息增益计算。在分类过程中,任何节点都不应该有未知值,因为您在信息增益步骤中忽略了它。对于分类,我相信您只需考虑未知的缺失值,并且不要在对该特定属性进行分类期间将其删除。

于 2012-11-28T05:05:06.593 回答