决策树 decision tree
一、简介
决策树由节点和边构成,节点分为:内部节点和叶节点,其中内部节点表示一个特征,而叶节点表示一个分类,如下图
决策树,也可以看成是If Then规则,每个实例都会覆盖其中一条路径(或规则)。
二、树的构造
决策树的本质就是根据数据,归纳出一套分类规则,与数据矛盾最小的规则。从所有可能的决策树中,找到最优决策树是NP完全问题,因此通常采用启发式方法,近似求解。 通常就是递归的对特征进行分割,也就是对特征区间进行划分。
决策树生成算法
输入:训练数据集D,特征集合A
输出:决策树T
(1)如果D中所有实例都属于同一个类C_k,则T为单节点树,并将C_k作为该节点的类,返回T;
(2)如果A为空,则置T为单节点树,并将D中实例数最多的类C_k作为该节点的类,返回T;
(3)否则,从A中选择最优划分属性A_g,该属性有若干取值;
(4)根据最优属性A_g及其若干取值,将该节点分割成若干子节点:即将D分割构成若干子集D_i,返回由该节点及其子节点构成的树T;
(5)对子节点,以D_i为训练集合,A-A_g为特征集合(也可以A),递归调用(1)-(4)
上述算法只是决策树的大致生成流程,其中两个最重要的两个问题需要解决:1.最优划分属性的划分标准;2.如何分裂该属性构成若干子节点
1、如何分裂属性
分裂