决策树构建(一)

决策树构建(一)

    • 决策树构建(一)
  • 什么是决策树
  • 决策树的构建过程
  • 决策树特征属性类型
  • 决策树分割属性的选择

决策树构建(一)

什么是决策树

以下图为例

决策树构建(一)_第1张图片

  • 特点

    1. 已知各种情况发生概率的基础上,通过构建数来进行分析的方式
    2. 一种直观的应用概率分析的一种图解法
    3. 一种预测模型,代表对象属性与对象值之间的映射关系
    4. 一种树形结构,每一个内部节点表示一个属性的测试,一个分支表示一个测试输出,每个叶子节点代表一种预测类别
    5. 一种非常常用的有监督分类算法
    6. 也可以做回归任务
  • 决策过程
    从根节点开始——>预测待分类项中对应的特征属性——>按照其值选择输出分支——>迭代进行——>直到叶子结点——>将叶子节点存放的类别作为决策结果

  • 分类

    • 分类树:分类任务
    • 回归树:回归任务
  • 常用算法:

    • ID3
    • C4.5
    • CART(既可作分类,也可做回归)

决策树的构建过程

第一篇我们提到,可以用任何一个特征属性作为根节点进行决策树的构建,所以不同的人会构建出不同的决策树,但是肯定有最优的,怎么构建呢?

  • 什么会影响我们构建出来的树的结构?
    • 分裂属性
      选择哪个属性进行分裂(房产拥有情况?婚姻状况?年收入?)
    • 分裂标准
      分裂的标准是什么?(是否?结婚,单身?收入大于60,小于60?)

决策树算法的重点就是决策树的构造;
决策树的构造就是进行属性选择度量,确定各个特征属性之间的拓扑结构(树结构);
构建决策树的关键步骤就是分裂属性,分裂属性是指在某个节点按照某一类特征属性的不同划分构建不同的分支,
目标就是让各个分裂子集尽可能的 '纯’(让一个分裂子数据集中待分类的项尽可能的属于同一个类别)。

  • 纯:
    不确定性更低,确定性更高
    系统更有序,低信息熵

  • 构建步骤(迭代的方式)

    1. 将所有特征看成一个个节点
    2. 遍历当前特征的每一种分割方式,找到最好的分割点;将数据划分为不同的子节点,eg: N1、N2、…、Nm,计算划分之后所有节点的纯度信息。
    3. 使用第2步遍历所有特征,选择出最优的特征以及该特征最优的划分方式,得出最终的子节点N1、N2、…、Nm
    4. 对子节点N1、N2、…、Nm,分别执行2-3步,直到最终的每个子节点都足够纯。
  • 那么最纯的情况是什么?
    最终的每一个叶子结点都只有一个类别,所以可以让训练集达到100%准确,那这样就过拟合了吧
    所以:
    保证准确的前提下,叶子数越少越合理

决策树特征属性类型

根据特征属性的类型不同,在构建决策树的时候,采用不同的方式,

  • 属性是离散值,而且不要求生成的是二叉决策树,此时一个属性就是一个分支
  • 属性是离散值,而且要求生成的是二叉决策树,此时使用属性划分的子集进行测试,按照“属于此子集”和“不属于此子集”分成两个分支
  • 属性是连续值,可以确定一个值作为分裂点split_point,按照>split_point和<=split_point生成两个分支

决策树分割属性的选择

  • 决策树算法是一种“贪心”算法策略,只考虑在当前数据特征情况下的最好分割方式,不能进行回溯操作。
  • 对于整体的数据集而言,按照所有的特征属性进行划分操作,对所有划分操作的结果集的"纯度”进行比较,选择"纯度”越高的特征属性作为当前需要分割的数据集进行分割操作,持续迭代,直到得到最终结果。决策树是通
    过"纯度”来选择分割特征属性点的。

你可能感兴趣的:(机器学习,决策树,机器学习,算法)