找到决策树的最佳属性

时间:2016-03-22 04:05:48

标签: machine-learning decision-tree

为什么我们要选择“最佳”属性?如果我们从任何其他属性中选择,会有什么不同吗?

3 个答案:

答案 0 :(得分:5)

首先,让我们根据决策树清楚“最佳”属性是什么意思 - 这是“最佳”分类可用培训示例的属性。为了定义“最佳” - 信息增益,需要熟悉两个术语。熵是来自信息理论的术语 - 它是一个数字,表示一组示例基于其目标类的异构。 Anther对熵的看法 - 它是从一组示例中编码随机示例的类所需的位数。另一方面,信息增益表示如果选择特定属性,一组示例的熵将减少多少。替代视角 - 它显示了如果选择特定属性,则表示随机示例的类所需的位数减少。

那么,为什么我们根据训练样例选择“最佳”属性?简单的答案是因为这就是构建决策树的算法的工作原理 - 它搜索所有可能的决策树,并选择第一个使用简单到复杂的搜索正确分类训练样例的树。由于基本实现不包括任何重新访问和更改早期决策的机制,因此使用贪婪方法而不是随机方法是有意义的。

这是一个简单的例子,用于说明在构建决策树时不选择“最佳”属性的后果。让我们假设我们有以下培训示例,其中属性考试朋友天气和目标活动。这些示例根据是否有考试,朋友是否可用以及天气是晴天还是下雨来描述首选活动。

╔══════╦═════════╦═════════╦══════════╗
║ Exam ║ Friends ║ Weather ║ Activity ║
╠══════╬═════════╬═════════╬══════════╣
║ yes  ║ yes     ║ sunny   ║ study    ║
║ no   ║ yes     ║ sunny   ║ picnic   ║
║ yes  ║ no      ║ rain    ║ study    ║
║ yes  ║ yes     ║ rain    ║ study    ║
║ no   ║ yes     ║ rain    ║ play     ║
║ no   ║ no      ║ rain    ║ play     ║
╚══════╩═════════╩═════════╩══════════╝

当我们进行数学计算时,我们最终得到以下数字以获取信息:

IG(D, Exam) ~ 1
IG(D, Friends) ~ 0.13
IG(D, Weather) ~ 0.46

为决策树的根选择的“最佳”属性是考试。下一步是决定在考试很快和没有考试时选择哪个属性。如果很快就有考试,活动总是在学习,所以不需要进一步探索。如果没有考试,我们需要计算选择朋友天气的信息收益:

IG(D-No-Exam, Friends) ~ 0.25
IG(D-No-Exam, Weather) ~ 0.92

遵循与之前相同的策略,我们会选择天气,最后决策树将如下所示:

      Exam?
      /  \
    yes   no
    /      \
 STUDY     Weather?
            /   \
         sunny  rain 
          /       \
       PICNIC     PLAY

现在让我们构建一个决策树,对示例进行分类,但使用不同的根 - 朋友并随意选择需要的属性。我们最终可以得到以下树:

                Friends?
                /     \
              yes      no
             /          \
          Exam?         Exam?
          /  \           /   \
        yes   no       yes   no
        /      \        |     |
     STUDY   Weather?  STUDY  PLAY
               /   \
            sunny  rain
             /       \
          PICNIC    PLAY

两棵树都正确地对训练样例进行了分类。不同之处在于第二棵树更复杂并且可能过度适应训练数据。 通过选择总是最好的属性来构建决策树的算法“更喜欢”更短,更简单的树和首先检查最佳属性的树。

答案 1 :(得分:0)

确定在决策树中选择哪个属性的常用方法是information gain。基本上,您尝试每个属性,看看哪个属性最好地分割您的数据。查看此套牌的第6页:http://homes.cs.washington.edu/~shapiro/EE596/notes/InfoGain.pdf

答案 2 :(得分:0)

一如既往地视情况而定。但大多数情况下,您希望尽快执行树,因此您希望避免不必要的决策/分支。所以你选择了最好的特征(和相应的分割位置),而其他需要例如2-3个分支最终预测样本。

在处理具有10个分支的树时,很容易看到比具有30个分支的另一个树快得多