1
模式识别与智能计算的MATLAB实现
1.4.4.5 2.4.5 决策树分类器
2.4.5 决策树分类器

决策树又称判定树,是用于分类和预测的一种树结构。决策树学习是以实例为基础的归纳学习算法。它着眼于从一组无次序、无规则的实例中推理出决策树表示形式的分类规则。它采用自顶向下的递归方式,在决策树的内部结点进行属性值的比较并根据不同属性判断从该结点向下的分支,在决策树的叶结点得到结论。所以从根结点就对应着一条合取规则,整棵树就对应一组析取表达式规则。

图2.4就表示一个决策树例子,从中可看出一位用户是否买汽车。决策树中样品向量为年龄、月薪、健康情况、买车意向;待测样品格式为年龄、月薪、健康情况,输入新的待测样品格式,就可以预测该样品隶属于哪个类。

alt

图2.4 买车问题的决策树

决策树的分类算法起源于概念学习系统,然后发展到ID3方法而成为高潮,最后又演变为能处理连续性能属性的C4.5等方法。

使用决策树进行分类分为两步:

①利用训练集建立并精化一棵决策树,建立决策树模型。这个过程实际上是一个从数据中获取知识,进行机器学习的过程,这个过程通常又可以分为两个阶段:一是建树,这是一个递归过程,最终得到一棵树;二是剪枝,通过该过程降低由于训练集存在噪声而产生的起伏。

②利用生成后的决策树对输入数据进行分类。对输入的待测样品,从根结点依次测试记录待测样品的属性,直到到达某个叶结点,从而找到该待测样品所在的类。

决策树分类具有分类速度快、计算量相对小、容易转化成分类规则、分类准确度高等优点。当然,此方法也存在缺乏伸缩性,处理大训练集时算法的额外开销大,降低了分类的准确性。

在MATLAB中,有专门的决策树分类器函数。