只想弄清楚一件事:同一属性可以多次出现在决策树中,只要它们位于不同的“分支”中即可?
答案 0 :(得分:6)
由于显而易见的原因,在同一分支中使用相同的决定是没有意义的。
在不同的分支上,这种推理显然不成立。
考虑经典的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两次是有意义的。
答案 1 :(得分:5)
一般情况下,只要你保留“树”的结构,你就可以做任何你想做的事。它们可以通过多种方式进行定制,虽然可以实现冗余,但不会破坏其有效性。
二元属性不应该在同一个早午餐中出现两次,这将是多余的。但是,连续属性可以多次出现在同一分支中。
答案 2 :(得分:2)
如果属性是分类属性,则不能将其用作拆分属性多次。如果属性是数字的,原则上它可以多次使用,但标准的决策树算法(C4.5算法)并没有那样实现。
以下描述基于属性都是分类的假设。
从解释的角度来看,决策树是可解释的,标记的实例如何通过从根到叶子使用的属性(以及属性的值)来解释。因此,在树的一个分支中具有重复的属性是没有意义的。
从算法的角度来看,一旦选择了一个属性作为分割属性,就不会再根据属性选择标准再次选择属性,例如:信息增益为0.这是因为所有实例在被属性过滤后都具有相同的属性值。再次使用该属性无法为分类带来更多信息。