我使用 Weka 成功构建了 J48 (C4.5) 决策树。我现在想评估我的功能的有效性或重要性。
一种明显的方法是遍历所有特征,一次删除一个,然后每次重新运行分类测试,看看哪个特征的分类准确率下降幅度最大。但是,这可能会隐藏功能之间的相互依赖关系。
但是,我正在考虑基于理解 C4.5 算法的另一种方法。由于树中的每个拆分都基于最大信息增益决策,因此在更接近树根的特征上进行拆分必须意味着该特征比在树中具有不同特征的拆分具有更多的信息增益。因此,对于在树内多次分裂中出现的给定特征 F,我可以计算 F 到根的平均距离。然后我可以按平均距离对所有特征进行排名,最低的平均值是最有价值的特征。这是一个正确的方法吗?