分类任务就是确定对象属于那个与定义的目标类
4.1预备知识
4.1.1分类与回归
分类任务的输入数据时记录的集合。每条记录也称实例,用元组(x,y)表示,其中x 是属性的集合,而y是一个特殊的属性,指出实例的类标号。
属性主要是离散的,但可以是连续的。但类标号必须是离散的,这是区别分类与回归的关键特性。回归是一种预测建模任务,其中y 属性是连续的。
4.1.2分类定义
分类:分类任务就是通过学习得到一个目标函数f,每个属性集x映射到一个预定定义的类标号y。
4.1.3分类模型
目标函数也称为分类模型。分类模型可以用于以下目的:
1.描述性建模
分类模型可以作为解释型的工具,用于区分不同类中的对象。一个描述模型有助于概括表中的数据,并说明哪些特征决定了类标号。
2.预测性建模
分类模型还可以用于预测未知记录的类标号。分类模型可以看作是一个黑箱,当给定未知记录的属性集上的值时,它自动地赋予未知样本类标号。
3.总结:分类技术非常适合预测或描述二元或标称类型的数据集,对于序数分类,分类技术不大有效。其他形式的联系,如子类与超类的关系也被忽略。
4.2解决分类问题的一般方法
分类技术时一种根据输入数据建立分类模型的统计方法。
分类法的例子包括:决策树分类法、基于规则的分类法、神经网络、支持向量机和朴素贝叶斯分类法
这些技术都使用一种学习算法:决策树——
基于规则的分类法——Apriori、FP growth
朴素贝叶斯——
确定分类模型,该模型能够很好的你和输入数据中类标号和属性集之间的联系。学习算法得到的模型不仅要很好的拟合输入数据,还要能能够正确的预测未知样本的类标号。训练算法的主要目标就是建立具有良好的泛化能力模型
4.2.1解决分类模型的一般方法
首先,需要一个训练集,它由类标号已知的未知的记录组成。使用训练集建立分类模型,该模型随后将运用于训练集
4.2.2模型的评估
混淆矩阵:分类模型的性能根据模型正确和错误预测的检验记录计数进行评估
4.3决策树归纳
4.3.1决策树的工作原理
通过一系列精心构思的关于检验记录属性的问题,可以解决分类问题。每当回答一个问题后续的问题将随之而来,直到我们得到记录的类标号。这一系列的问题和这些问题的可能回答可以组织成决策树的形式,决策树是一种由结点和有向边组成的层次结构。
树中包含三种结点:
1.根结点:它没有入边,但有零条或多条出边
2.内部结点:恰有一条入边和两条或多条出边
3.叶结点或终结点:恰有一条入边,但没有出边
4.3.2如何建立决策树
原则上,对于给定的属性集,可以构造的决策树的数目达指数级。尽管某些决策树比其他决策树更准确,但是由于搜索空间时指数规模的,找出最佳决策树在计算是不可行的。尽管如此,人们还是开发了一些有效的算法,能够在合理的时间内构造出具有一定准确率的次最优决策树。这些算法通常采用贪心算法,在选择划分数据的属性时,采取一些类局部最优策略来构造决策树,Hunt算法是许多决策树算法的基础,包括ID3、C4.5和CART
1.Hunt算法
(1)如果Dt中所有记录都属于同一个类的记录,则t是
(2)如果Dt,则选择一个属性测试条件,将记录划分成较小的子集。对于测试条件的每个输出,创建一个子女结点,并根据测试结果将Dt中的记录分布发到子女结点中。然后,对每个子女结点,递归地调用该算法。
2.算法存在的问题
如果属性值的每种组合都在训练集中出现,并且每种组合都具有唯一的类标号,则Hunt算法是有效的。但是对于大多数实际情况,这些假设太苛刻:
(1)算法的第二步所创建的子女结点可能为空,即不存在与这些结点相关联的记录。如果没有一个训练记录包含与这样的结点相关联的属性值组合,这种情况就可能发生。这时,该结点成为叶子结点,类标号为其父结点上训练记录中的多数类
(2)在第二步,如果与Dt相关联的所有记录都具有相同的属性值,则不可能进一步划分这些记录。这种情况下,该结点为叶结点,其标号为与该结点相关联的训练记录中的多数类。
3.决策树归纳的设计问题
(1)如何分裂训练记录:树增长过程的每个递归步都必须选择一个属性测试条件,将记录划分成较小的子集。为了实现这个步骤,算法必须提供为不同类型的属性指定测试条件的方法,并且提供评估每种测试条件的客观度量。
(2)如何停止分裂过程:需要有结束条件,以终止决策树的生长过程。一个可能的策略是分裂结点,直到所有的记录都属于同一个类,或者所有的记录都是具有相同的属性值。尽管两个结束条件对于结束决策树归纳算法都是充分的,但是还可以使用其他的标准提前终止树的生长过程。
4.3.3表示属性测试条件的方法
决策树归纳算法必须为不同类型的属性提供表示属性测试条件和其对应输出的方法。
1.二元属性:二元属性的测试条件产生两个可能的输出
2.标称属性:由于标称属性有多个属性值,它的测试条件可以用两种方法表示
(1)多路划分:其输出数取决于该属性不同属性值的个数
(2)某些决策算法只产生二元划分,它们只考虑创建K个属性值的二元划分的所有2^k-1中方法
3.序数属性:序数属性也可以产生二元或多路划分,只要不违背序数属性的有序性。
4.连续属性
4.3.4选择最佳划分的度量
选择最佳划分的度量通常是根据划分后子女结点不纯性的程度。不纯的程度越低,类分布就越倾斜。
1.不纯性度量的三种方法:
虽然这三种度量在比较大小的顺序上是一致的,但是作为测试条件的属性选择仍然因不纯性度量的选择而异。
2.为了确定测试条件的效果,需要比较父结点的不纯程度和子女结点的不纯程度,它们的差 越大,测试条件的效果就越好,增益是一种可以用来确定划分效果的标准:
可以通过增益确定要选择哪一种划分度量最佳。
3.增益率
熵和Gini指标等不纯性度量趋向于有利于具有大量不同值的属性。
解决该问题的策略有两种:
(1)限制测试条件只能是二元划分,CART这样的决策树采用的就是这种策略
(2)修改评估划分的标准,把属性测试条件产生的输出数也考虑进去。决策树算法C4.5采用增益率的划分来评估划分。增益率:
4.7.3决策树归纳的特点
1.决策树归纳是一种构建分类模型的非参数方法。它不要求任何先验假设,不假定类和其属性服从一定的概率分布。
2.找到最佳的决策树是NP完全问题
3.冗余属性、噪声干扰不会对决策树有不利影响
4.4模型的过分拟合