数据挖掘 第四章 分类:基本概念、决策树与模型评估

第四章

1. 分类技术

  • Decision Tree based Methods
  • Rule-based Methods
  • Memory based reasoning
  • Neural Networks
  • Naïve Bayes and Bayesian Belief Networks
  • Support Vector Machines

2. 如何建立决策树

  • Hunt算法
    • 定义:
      • 如果Dt中所有记录都属于同一个类y_t,则t是叶节点,用y_t标记
      • 如果Dt中包含属于多个类的记录,则选择一个属性测试条件,将记录划分成较小的子集,递归地调用该算法。
    • 对于hunt算法有两种特殊的cases需要额外处理
      • 一些孩子节点是空的
      • 与Dt相关联的所有记录都具有相同的属性值(目标属性除外)
    • 方法:贪心算法
    • 设计问题:
      • 如何分裂训练记录
        • 条件(依赖于属性类型)
        • 二元or多路划分
      • 如何停止分裂过程
  • CART
  • ID3
  • SLIQ,SPRINT

3. 不同类型的属性指定测试条件的方法

  • 标称属性:
    • 多路划分
    • 二元划分(通过属性值分组)
  • 序数属性:可以分组,只要分组不违背序数属性值的有序性即可
  • 连续属性:
    • 具有二元输出的比较测试
    • 离散化策略
      • 静态的:每个离散化区间赋予一个新的序数值,只要保持有序性。
      • 动态的:范围可以通过等间隔间隔、等频率间隔(百分比)或聚类找到

4. 选择最佳划分的度量

  • 结点不纯度
    • GINI 越低越好

      • 数据挖掘 第四章 分类:基本概念、决策树与模型评估_第1张图片
        • 数据挖掘 第四章 分类:基本概念、决策树与模型评估_第2张图片
        • 每次选择有最小gini系数的(该分割方法纯度高)
    • 熵(跟gini系数差不多的)

      • 在这里插入图片描述
      • 信息增益(在ID3和C4.5中使用):
        • 数据挖掘 第四章 分类:基本概念、决策树与模型评估_第3张图片
        • 注: 对于gini系数和熵都有一个缺点,会倾向于多分类,因为这样能把数据分得更纯,对此,有两种方法可以解决该问题:
          • 限定测试条件只能是二元划分,CART这样的决策树算法采用的就是这种策略
          • 提出了Gain Ratio,给多分类更大的惩罚,C4.5采用该方法
      • Gain Ratio
        • 在这里插入图片描述
    • Classification error:

      • 在这里插入图片描述

5. 停止分裂条件

  • 当所有的记录都属于同一类
  • 当所有记录都有相同的属性
  • 早期终止

6. 模型的过分拟合

  • 误差:
    • 训练误差
    • 测试误差
    • 泛化误差
      数据挖掘 第四章 分类:基本概念、决策树与模型评估_第4张图片

7. 造成模型过分拟合的因素

  • 噪声导致的过分拟合
  • 训练样本少【缺乏代表性样本导致的过分拟合】
  • 模型复杂度高【过分拟合与多重比较过程】

8. 泛化误差估计

  • 目的是确认模型不会过分复杂,避免过拟合
  • 估计泛化误差的方法:
    • 使用验证集(但是训练的样本就少了)
    • 结合模型复杂度
      • 奥卡姆剃刀
      • 将模型复杂度和分类模型评估结合在一起的两种方法:
        • 悲观误差评估
          在这里插入图片描述
          • 惩罚项大小根据问题需要设定
        • 最小描述长度原则(MDL):
          在这里插入图片描述

9. 解决过拟合

  • 预剪枝(提前终止规则)
    • 设定阈值
    • 当扩展当前结点不会提高纯性,就停止
  • 后剪枝 (按照自底向上的方式修剪完全增长的决策树)
    • 子树替换:

      • 用新节点替换子树
    • 子树提升:

      • 用子树最常使用的分支代替子树

10 . 模型评估

  • holdout ——> 验证集&训练集
  • 随机二次抽样:多次重复holdout方法来改进对分类器性能的估计
  • 交叉验证:每个记录用于训练的次数相同,并且恰好验证一次
  • 自主法:
    • 训练集:有放回采样
    • 验证集:没有被抽取的记录

你可能感兴趣的:(数据挖掘导论)