我使用Weka成功构建了J48(C4.5)决策树。我现在想评估我的功能有多么有效或重要。如何在Weka构建的决策树中查找特征重要性
一个显而易见的方法是遍历所有功能,一次删除一个,并重新运行分类测试每次看到它配备了具有分类准确率的最大跌幅。但是,这可能会隐藏功能之间的相互依赖关系。
不过,我基于理解的C4.5算法思维的另一种方法。由于树中的每个分割都基于最大信息增益决策,因此靠近树根的特征上的分割必定意味着该特征比树中具有较低特征的分割具有更多的信息增益。因此,对于在树内几次分割中出现的给定特征F,我可以计算出F距离根的平均距离。然后,我可以按平均距离排列所有特征,最低的平均值是最有价值的特征。这是否是一个正确的方法?
平均距离根节点不会一个好的度量标准,因为信息增益的量在树中的各个层次上不是恒定的。最好总结与特定特征对应的所有分支的信息增益,并将每个分支处的增益与分支处存在的采样数加权。 – bogatron 2012-07-20 13:45:08
Weka是否提供每个拆分信息获取的数据?输出文本文件不显示它。 – stackoverflowuser2010 2012-07-20 17:36:36
我不知道Weka是否明确存储了信息增益,但如果知道每个节点处的观察值/采样数,则可以自己计算。我不知道默认树形可视化是否让您可以选择查看每个节点上的样本数量,但是有一个插件可显示该信息:http://weka.wikispaces。com/Explorer + tree +可视化+插件 – bogatron 2012-07-23 18:11:16