【问题标题】:can "splitting attribute" appear many times in decision tree?“拆分属性”可以在决策树中出现多次吗?
【发布时间】:2013-11-28 09:03:37
【问题描述】:

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

【问题讨论】:

  • 这个问题似乎是题外话,因为它是关于机器学习的。
  • @sashkello 有 3404 个问题标记为machine-learning...
  • @Anony-Mousse 所有这些都应该与编程密切相关(好吧,很多老问题可能不会)。这个问题应该去stats.stackexchange.com,因为里面没有编程方面的内容。

标签: machine-learning data-mining decision-tree


【解决方案1】:

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

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

考虑经典的 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 两次是有意义的。

【讨论】:

    【解决方案2】:
    1. 一般来说,你可以做任何你想做的事,只要你保持“树”的结构。它们可以通过多种方式进行定制,虽然可能存在冗余,但不会破坏其有效性。

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

    【讨论】:

      【解决方案3】:

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

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

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

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

      【讨论】:

        猜你喜欢
        • 2017-02-04
        • 2022-07-19
        • 2020-04-15
        • 2011-05-23
        • 2015-07-14
        • 2018-07-20
        • 2014-06-12
        • 2018-04-22
        • 2018-03-16
        相关资源
        最近更新 更多