使用Weka的C4.5 (J48)决策树处理缺失特征属性值的最佳方法是什么?缺失值问题在训练和分类过程中都会出现。
-
如果训练实例中缺少值,我假设为该特征设置’?’值是正确的吗?
-
假设我能够成功构建决策树,然后从Weka的树结构中用C++或Java创建自己的树代码。在分类时,如果我试图对一个新实例进行分类,对于那些有缺失值的特征,我应该填写什么值?我如何在决策节点处继续向下遍历树,而该节点的值是未知的?
使用Naive Bayes处理缺失值会更好吗?我只需为它们分配一个非常小的非零概率,对吗?
回答:
来自华盛顿大学Pedro Domingos的机器学习课程:
以下是Pedro建议的处理属性A
缺失值的三种方法:
- 为节点
n
中其他示例中A
的最常见值分配 - 为具有相同目标值的其他示例中
A
的最常见值分配 - 为
A
的每个可能值v_i
分配概率p_i
;将示例的p_i
部分分配给树中的每个后代节点。
幻灯片和视频现在可以在这里查看。