我使用10倍交叉验证在Weka中运行C4.5修剪算法。我注意到未修剪的树具有比修剪树更高的测试精度。我无法理解为什么修剪树没有提高测试精度的原因?
答案 0 :(得分:1)
修剪减小了决策树的大小(通常)会降低训练准确性,但会提高测试(看不见)数据的准确性。修剪有助于缓解过度拟合,您可以在训练数据上获得完美的准确性,但只要看到看不见的数据,模型(即决策树)就会失败。
因此,修剪应提高测试准确性。从你的问题来看,很难说为什么修剪不能提高测试的准确性。
但是,您可以检查您的训练准确性。只需检查修剪是否会降低训练准确性。如果没有,那么问题出在其他地方。那么您可能需要考虑功能的数量或数据集的大小!