0%

分类算法之决策树

2018年10月9日 下午10:47

算法杂货铺——分类算法之决策树(Decision tree) - T2噬菌体 - 博客园

没有明白的问题:

  1. 特征属性为连续值时,如何使用ID3算法,没看懂

  2. 有个问题是:如何证明ID3和C45是可行的?
    这个问题我现在认为不是我应该思考的问题。这个问题要从数学的角度去解决。而我更应该关注的是什么问题呢?

  3. 首先决策树的一定是:判定条件是量化的

  4. 决策树中的每个“结构元素”代表着啥?

    1. 决策树(decision tree)是一个树结构(可以是二叉树或非二叉树)。
    2. 其每个非叶节点表示一个特征属性上的测试
    3. 每个分支代表这个特征属性在某个值域上的输出
    4. 每个叶节点存放一个类别
    5. 使用决策树进行决策的过程就是从根节点开始,测试待分类项中相应的特征属性,并 按照其值选择输出分支 ,直到到达叶子节点,将 叶子节点存放的类别作为决策结果这其中体现了从值——>类别的转换过程,是在叶子节点上完成的
  5. 构造决策树的关键性内容:

    1. 进行属性选择 度量
      1. 属性选择度量算法有很多,
        1. 一般使用自顶向下递归分治法,并采用不回溯的贪心策略
        2. 这里介绍ID3和C4.5两种常用算法。
      2. 属性选择度量是一种选择分裂准则,是将给定的类标记的训练集合的数据划分D“最好”地分成个体类的启发式方法,它决定了拓扑结构及分裂点split_point的选择
  6. 分裂属性分为三种不同的情况:

    1. 属性是离散值不要求生成二叉决策树。此时用属性的每一个划分作为一个分支。
    2. 属性是离散值且要求生成二叉决策树。此时使用属性划分的一个子集进行测试,按照“属于此子集”和“不属于此子集”分成两个分支。
    3. 属性是连续值。此时 确定一个值作为分裂点split_point ,按照>split_point和<=split_point生成两个分支。
  7. ID3和C45的不同:

    1. ID3算法存在一个问题,就是偏向于多值属性,例如,如果存在唯一标识属性ID,则ID3会选择它作为分裂属性,这样虽然使得划分充分纯净,但这种划分对分类几乎毫无用处。
  8. 如果属性用完了怎么办?

    1. 一般对这些子集进行“多数表决
  9. 减枝

    1. 目的:处理由于数据中的噪声和离群点导致的过分拟合问题
    2. 分类: 先剪枝+后减枝