- 决策树
决策树是一个非常有意思的模型,它的建模思路是尽可能模拟人做决策的过程。因此决策树几乎没有任何抽象,完全通过生成决策规则来解决分类和回归问题。在学术上被称为白盒模型。
-
- 什么是决策树
决策树是一种机器学习算法,类似于平时我们通过选择做决策的过程。它是类似流程图的结构,其中每个内部节点表示一个测试功能,即类似做出决策的过程(动作),每个叶子节点表示一个类标签,即在计算所有特征之后做出的决定(结果)。标签和分支表示导致这些类标签的功能的连接。从根到叶的路径表示分类规则。
经典例子:相亲决策树:
决策树模型的核心:
- 结点和有向边组成
- 结点有内部结点和叶结点俩种类型
- 内部结点表示一个特征,叶节点表示一个类
决策树分类原理:
从根节点开始,对实例的某一特征进行测试,根据测试结果将实例分配到子节点。此时每个子节点对应着实例的一个取值,如此递归的对实例进行测试并分类,直到全部到达叶节点,最后成功将实例分到叶节点当中。
决策树的构造:
决策树的构造就是进行属性选择度量确定各个特征属性之间的拓扑结构。
构建决策树的关键步骤是分裂属性。分裂属性指的是在某一节点处按照某一特征属性的不同划分构造不同的分支,其目的是让各个分裂子集尽可能的纯。尽可能的纯就是尽量让一个分裂子集中待分类的项属于同一类别。
-
- 分裂属性
分裂属性分为三种不同的情况:
1、属性是离散值且不要求生成二叉决策树。此时用属性的每一个划分作为一个分支。
2、属性是离散值且要求生成二叉决策树。此时使用属性划分的一个子集进行测试,按照“属于此子集”和“不属于此子集”分成两个分支。
3、属性是连续值。此时确定一个值作为分裂点split_point,按照>split_point和<=split_point生成两个分支。
构造决策树的关键性内容是进行属性选择度量,属性选择度量是一种选择分裂准则,是将给定的类标记的训练集合的数据“最好”地分成个体类的启发式方法,它决定了拓扑结构及分裂点split_point的选择。