4.1预备知识
- 分类任务的输入数据是记录的集合
- 每条记录也称实例或者样例,用元组 ( x , y ) (x,y) (x,y)表示, x x x是属性的集合,y是样例的类标号(也成为分类属性或目标属性)
- 类标号必须是离散的,但属性值可以是连续的
- 分类(classfication)的任务就是得到一个目标函数,将每个属性集映射到一个y上
- 目标函数也称分类模型
- 分为描述性建模和预测性建模两种
4.2解决问题的一般方法
分类法的例子:决策树分类法、基于规则的分类法、神经网络、支持向量机、朴素贝叶斯分类法
混淆矩阵 (confusion matrix):用 f i j f_{ij} fij表示实际类标号为类 i i i但却被预测为类 j j j的记录数。混淆矩阵用来衡量分类模型的性能
预测的类 | |||
---|---|---|---|
类=1 | 类=0 | ||
实际的类 | 类=1 | f 11 f_{11} f11 | f 10 f_{10} f10 |
– | 类=0 | f 10 f_{10} f10 | f 00 f_{00} f00 |
准 确 率 ( a c c u r a c y ) = 正 确 预 测 数 预 测 总 数 准确率(accuracy)=\frac{正确预测数}{预测总数} 准确率(accuracy)=预测总数正确预测数
4.3 决策树归纳(decision tree)
4.3.1决策树原理
三种结点的定义
- 根结点(root node)没有入边,但有零或多条出边
- 内部结点(internal node)恰有一条入边和两条或多条出边
- 叶结点(leaf node)或终结点,恰有一条入边,无出边,每个叶结点都赋予一个类标号
非终结点都有一个属性测试条件,用来选择分支
4.3.2 如何建立决策树
最优决策树需要指数级的计算往往不可取,因此采取一系列局部最优决策来构造决策树。
1.Hunt 算法
设 D t D_t Dt是与结点t相关联的训练记录集, { y c } \{y_c\} { yc}是类标号,hunt算法定义如下:
- 如果 D t D_t Dt中所有记录都属于同一个类 y t y_t yt,则t是叶结点,用 y t y_t yt标记
- 如果属于多个类,那就选择一个属性测试条件(attribute test condition),将记录划分成较小的子集。对于测试条件的每一个输出穿紧固件一个子女结点,,将 D t D_t Dt中的记录分配,对每个子女结点,递归的调用hunt算法。
2.决策树归纳的设计问题
- 算法必须为不同类型的属性指定测试条件的方法,并且提供评估每种测试条件的客观度量
- 如何停止分裂过程
4.3.3表示属性测试条件的方法
- 二元属性 二元属性的测试条件产生两个可能的输出
- 标称属性 多路划分(有几个分几个)或者二元划分(k个属性值, 2 k − 1 2^{k-1} 2k−1- 1 1 1种方法)
- 序数属性 二元划分或多路划分,但二元划分不能打乱原有的顺序,比如{1,2,3,4}不能分成{1,3}{2,4}
- 连续属性 二元划分或多路划分。对于二元划分必须选好划分点。多路划分要选好区间,如果区间保持有序性,那么相邻的区间还可以聚集成较宽的区间。
4.3.4 选择最佳划分的度量
设 p ( i ∣ t ) p(i|t) p(i∣t)表示给定结点 t t t中属于类 i i i的记录所占的比例,有时省略t,直接用 p ( i ) p(i) p(i)表示。选择最佳划分的度量通常根据划分后子女结点不纯性的程度。不纯性程度越低,类分布 ( p 1 , ⋯ , p i ) (p_1,\cdots,p_i) (p1,⋯,pi)就越倾斜。
不纯性度量的例子包括:
熵 E n t r o p y ( t ) = − ∑ i = 0 c − 1 p ( i ∣ t ) l o g 2 p ( i ∣ t ) G i n i ( t ) = 1 − ∑ i = 0 c − 1 [ p ( i ∣ t ) ] 2 C l a s s i f i c a t i o n e r r o r ( t ) = 1 − max i [ p ( i ∣ t ) ] 熵 Entropy(t)=-\sum_{i=0}^{c-1}p(i|t)log_2p(i|t)\\ \\ Gini(t)=1-\sum_{i=0}^{c-1}[p(i|t)]^2\\ Classification\quad error(t)=1-\max_i[p(i|t)] 熵Entropy(t)=−i=0∑c−1p(i∣t)log2p(i∣t)Gini(t)=1−i=0∑c−1[p(i∣t)]2Classificationerror(t)=1−imax[p(i∣t)]
其中c是类的个数,不同的度量变化趋势是一致的,但值不同。
父结点与子女结点的不纯程度之差越大,测试条件的效果就越好。增益 Δ \Delta Δ可以用来确定划分效果:
Δ = I ( p a r e