三、生成算法

  1. 决策树有两种常用的生成算法:

    • ID3 生成算法。
    • C4.5 生成算法。
  2. ID3 生成算法和 C4.5 生成算法只有树的生成算法,生成的树容易产生过拟合:对训练集拟合得很好,但是预测测试集效果较差。

3.1 ID3 生成算法

  1. ID3 生成算法核心是在决策树的每个结点上应用信息增益准则选择特征,递归地构建决策树。

    • 从根结点开始,计算结点所有可能的特征的信息增益,选择信息增益最大的特征作为结点的特征,由该特征划分出子结点。

    • 再对子结点递归地调用以上方法,构建决策树。

    • 直到所有特征的信息增益均很小或者没有特征可以选择为止,最后得到一个决策树 。

      如果不设置特征信息增益的下限,则可能会使得每个叶子都只有一个样本点,从而划分得太细。

  2. ID3 生成算法:

    • 输入:

      • 训练数据集 三、生成算法 - 图1
      • 特征集合 三、生成算法 - 图2
      • 特征信息增益阈值 三、生成算法 - 图3
    • 输出:决策树 三、生成算法 - 图4

    • 算法步骤:

      • 三、生成算法 - 图5 中所有样本均属于同一类 三、生成算法 - 图6,则 三、生成算法 - 图7 为单结点树,并将 三、生成算法 - 图8 作为该结点的类标记,算法终止。

      • 三、生成算法 - 图9,则 三、生成算法 - 图10 为单结点树,将 三、生成算法 - 图11 中样本数最大的类 三、生成算法 - 图12 作为该结点的类标记,算法终止。

      • 否则计算 三、生成算法 - 图13,选择信息增益最大的特征 三、生成算法 - 图14

        • 三、生成算法 - 图15 ,则置 三、生成算法 - 图16 为单结点树,将 三、生成算法 - 图17 中样本数最大的类 三、生成算法 - 图18 作为该结点的类标记,算法终止 。

        • 三、生成算法 - 图19 ,则对 三、生成算法 - 图20 特征的每个可能取值 三、生成算法 - 图21 ,根据 三、生成算法 - 图22三、生成算法 - 图23 划分为若干个非空子集 三、生成算法 - 图24

          三、生成算法 - 图25 中样本数最大的类作为该子集的标记,构建子结点。

      • 对第 三、生成算法 - 图26 个子结点, 以 三、生成算法 - 图27 为训练集, 以 三、生成算法 - 图28 为特征集,递归地调用前面的步骤来构建子树。

3.2 C4.5 生成算法

  1. C4.5 生成算法与 ID3 算法相似,但是 C4.5 算法在生成过程中用信息增益比来选择特征。