什么是Weka中修剪和未修剪的树?

时间:2012-07-20 19:22:49

标签: java weka

在决策树J48例子中,当我们说树被修剪或未修剪时,有什么区别?

3 个答案:

答案 0 :(得分:14)

未经修剪的树木较大。发生的情况是,基本上树是根据实现的算法创建的,如果启用了修剪,另外一步是查看可以删除哪些节点/分支而不会过多地影响性能。

修剪背后的想法是,除了使树更容易理解之外,还可以降低过度拟合训练数据的风险。也就是说,能够(几乎)完美地对训练数据进行分类,但没有别的因为树不是学习基础概念,而是学习了训练数据的内在特性和特定属性。

答案 1 :(得分:5)

我想在Lars的回答中添加以下内容。取自link

  

许多算法试图“修剪”或简化其结果。修剪产生更少,更容易解释的结果。更重要的是,修剪可以用作纠正潜在过度拟合的工具。 ...

     

J48采用两种修剪方法。

     

第一种称为子树替换。这意味着决策树中的节点可能被叶子替换 - 基本上减少了沿某条路径的测试数量。此过程从完全形成的树的叶子开始,并向后朝向根。

     

J48中使用的第二种修剪方法称为子树提升。在这种情况下,节点可以向上移向树的根,沿途取代其他节点。子树提升通常对决策树模型的影响可以忽略不计。通常没有明确的方法来预测选项的效用,但如果感应过程需要很长时间,最好尝试将其关闭。这是因为子树提升在某种程度上可能是计算复杂的。

答案 2 :(得分:1)

鉴于Weka是一个机器学习套件,听起来就像他们所指的那样:

http://en.wikipedia.org/wiki/Pruning_(decision_trees)

简而言之,决策树的修剪似乎是删除了可能没有太大益处的可能决策。

但是,我没有使用过weka而且我不熟悉它。推迟其他答案,看看他们说的话是否有意义。