2012-07-20 224 views

回答

14

未修剪的树木较大。会发生什么,基本上树是根据实现的算法创建的,如果启用修剪,则额外的步骤将查看可以删除哪些节点/分支,而不会影响性能太多。

修剪背后的想法是,除了让树更易于理解,您可以减少过度训练数据的风险。也就是说,能够将训练数据(几乎)完全分类,但没有别的,因为树不是学习基本概念,而是学习了训练数据固有的和特定的属性。

+0

第一句可能是错的。未修剪的树木*较大*,对吗? – stackoverflowuser2010 2012-08-07 21:54:37

+0

哎呀,对,对不起。我会改变这一点。 – 2012-08-08 08:01:37

1

鉴于Weka的是机器学习套件,听起来这是什么原因,他们指的是:

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

总之决策树的修剪似乎是去除可能决定其没有多少好处。

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

5

我想补充以下内容给拉尔斯的答案。采取从以下link

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

J48采用两种修剪方法。

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

在J48中使用的第二种类型的修剪被称为子树提升。在这种情况下,节点可以向上移动到树的根部,替换沿途的其他节点。子树通常​​对决策树模型的影响可以忽略不计。通常没有明确的方法来预测该选项的实用性,尽管如果诱导过程花费很长时间,尝试关闭它可能是明智的。这是因为子树的提升在计算上可能有些复杂。