C4.5 决策树算法没有提高准确性

Posted

技术标签:

【中文标题】C4.5 决策树算法没有提高准确性【英文标题】:C4.5 Decision Tree Algorithm doesn't improve the accuracy 【发布时间】:2017-06-22 02:24:49 【问题描述】:

我在 Weka 中使用 10 倍交叉验证运行了 C4.5 剪枝算法。我注意到未修剪的树比修剪的树具有更高的测试精度。我不明白为什么修剪树并没有提高测试的准确性?

【问题讨论】:

【参考方案1】:

修剪会减小决策树的大小,这(通常)会降低训练准确度,但会提高测试(未见)数据的准确度。修剪有助于缓解过度拟合,您可以在训练数据上获得完美的准确性,但模型(即决策树)在看到看不见的数据时就会失败。

因此,修剪应该提高测试的准确性。从您的问题来看,很难说为什么修剪没有提高测试准确性。

但是,您可以检查训练的准确性。只需检查剪枝是否会降低训练精度。如果不是,那么问题出在其他地方。可能你需要考虑特征的数量或数据集的大小!

【讨论】:

谢谢!我检查了修剪是否会降低训练的准确性。有关如何前进的任何建议? 是不是因为我的未修剪树过度拟合了数据?拥有更多数据会提高倒枝树的性能吗?我之前未修剪的测试准确度约为 98%,而修剪后的准确度下降到 97% 修剪后的树应该比测试数据具有更高的准确度,但由于修剪后性能没有得到提高,您可以尝试考虑更多的训练数据。您的情况可能有点特殊,但总的来说,修剪后的树在测试实例上的性能应该优于未修剪的树。

以上是关于C4.5 决策树算法没有提高准确性的主要内容,如果未能解决你的问题,请参考以下文章

weka 代码 算法 j48 决策树 c4.5

决策树算法 CART和C4.5决策树有啥区别?各用于啥领域?

5-4 决策树 C4.5决策树的生成算法

5-4 决策树 C4.5决策树的生成算法

决策树之C4.5算法学习

分类算法:决策树(C4.5)(转)