7

只是想澄清一件事:相同的属性可以在决策树中多次出现,只要它们在不同的“分支”中,对吗?

4

3 回答 3

11

出于显而易见的原因,在同一个分支中使用相同的决策是没有意义的。

在不同的分支上,这个推理显然不成立。

考虑经典的 XOR(x,y) 问题。您可以使用两层决策树来解决它,但您需要在两个分支中拆分相同的属性。

If x is true:
    If y is true:  return false
    If y is false: return true
If x is false:
    If y is true:  return true
    If y is false: return false

另一个示例如下:假设您的数据在 x=[0;1] 中为正,而在外部为负。一棵好树应该是这样的:

If x > 1:      return negative
If x <= 1:
    If x >= 0: return positive
    If x < 0:  return negative

这不是同一个决定,所以使用 x 两次是有意义的。

于 2013-11-15T08:31:41.543 回答
6
  1. 一般来说,你可以做任何你想做的事,只要你保持“树”的结构。它们可以通过多种方式进行定制,虽然可能存在冗余,但不会破坏其有效性。

  2. 二进制属性不应在同一个早午餐中出现两次,那将是多余的。但是,连续属性可以多次出现在同一个分支中。

于 2013-11-15T03:56:30.257 回答
3

如果属性是分类属性,则不能多次用作拆分属性。如果属性是数值的,原则上可以多次使用,但是标准的决策树算法(C4.5算法)不是这样实现的。

以下描述基于属性都是分类的假设。

从解释的角度来看,决策树是可解释的,一个被标记的实例如何通过从根到叶使用的属性(以及属性的值)来解释。因此,在树的一个分支中具有重复的属性是没有意义的。

从算法的角度来看,一旦选择了一个属性作为拆分属性,该属性就没有机会根据属性选择标准再次选择,例如信息增益为0。这是因为所有实例都具有相同的属性属性过滤后的值。再次使用该属性并不能带来更多的分类信息。

于 2013-11-18T02:31:55.150 回答