决策树修剪
我有两个与决策树操作符中的“修剪”(后修剪)相关的问题。
1.RM支持悲观修剪(即自顶向下),但不支持乐观修剪(即自底向上)。对吗?
2.在修剪过程中,精确的逻辑步骤是什么?
3.当使用启用了修剪选项的“训练集”训练决策树时,哪个“验证集”计算分类误差?它不可能是整个训练集因为那样的话,在完全生长的树中,分类误差将是0,它总是最小的。我对剪枝的理解是,通过应用树大小的惩罚因子来计算成本复杂性,并选择使验证集的分类错误最小化的树。当使用训练集时,如何进行验证?
我从这篇文章中得到了相关的想法帖子另一个之前的帖子。此外,我还查看了RapidMiner代码PessimisticPruner.java,但我无法从那里解析逻辑。
@IngoRM,@land,和其他人-任何帮助将不胜感激。
1.RM支持悲观修剪(即自顶向下),但不支持乐观修剪(即自底向上)。对吗?
2.在修剪过程中,精确的逻辑步骤是什么?
3.当使用启用了修剪选项的“训练集”训练决策树时,哪个“验证集”计算分类误差?它不可能是整个训练集因为那样的话,在完全生长的树中,分类误差将是0,它总是最小的。我对剪枝的理解是,通过应用树大小的惩罚因子来计算成本复杂性,并选择使验证集的分类错误最小化的树。当使用训练集时,如何进行验证?
我从这篇文章中得到了相关的想法帖子另一个之前的帖子。此外,我还查看了RapidMiner代码PessimisticPruner.java,但我无法从那里解析逻辑。
@IngoRM,@land,和其他人-任何帮助将不胜感激。
0
答案
另外,我在上一篇文章中提出的问题在哪里?我会感谢社区的帮助。
> <上下文
<输入/ >
<输出/ >
<宏/ >
> < /上下文
<过程扩展= " true " >
< /操作符>
< /操作符>
< /操作符>
> < /过程
< /操作符>
> < /过程
德国多特蒙德
同意,它确实为其他数据集做了一些事情。然而,我也发现有点奇怪的是,无论置信度是多少,似乎都不会对泰坦尼克号产生任何修剪影响……我将在我们的内部系统中创建一个票证,以便更仔细地检查它。情况很可能很好,但是让我们再检查一下……
欢呼,
Ingo
我确实用其他一些数据集测试了它,得到了相同的结果。
一些概念性的问题,将有助于回答
(a)既然决策树算子是基于CART的,它是否使用Cost-Complexity修剪悲观修剪期间的方法?一些相关链接:链接1,scikit-learn Python的实现。
(b)在修剪过程中如何进行验证(内部)?“训练”数据的哪一部分在内部用于验证?如何使用?
(c)如果使用cc -剪枝方法,所选择的惩罚(alpha)参数是否可以告知用户解释?
(d)如果不使用cc -修剪方法,使用的确切方法是什么?