1定义
- 是指把数据样本映射到一个事先定义的类中的学习过程;即给定一组输入的属性向量及其对应的类,用基于归纳的学习算法得出分类
- 所以数据分类的任务:通过学习得到一个目标函数f,把每个属性集x映射到一个预先定义的类标号y;
2示例
数据集包含多个描述属性和一个类别属性,一般来数,描述属性:连续值或离散值;类别属性:只能是离散值(目标属性连续对应回归问题)
两类分类示例
- 银行业:区分高端信用卡和低端信用卡
- 医疗诊断:区分正常细胞和癌细胞
- 互联网:区分正常邮件和垃圾邮件
多类分类示例
- 油气传输:区分行人走过、汽车碾过、镐刨、电钻等行为
- 文字识别:区分不同的字符(其中汉字识别是一个大类别问题)
- 社会网络:区分中心用户、活跃用户、不活跃用户、马甲用户等
3分类过程
3.1获取数据
数值型数据
- 病例中的各种化验数据
- 空气质量监测数据
描述性数据
- 人事部门档案资料
图片型数据
- 指纹、掌纹
- 自然场景图片
很多情况下,需要将上述数据统一转换为数值型数据序列,即形成特征向量(特征提取)
3.2预处理
为了提高分类的准确性和有效性,需要对分类所用的数据进行预处理
- 去除噪声数据
- 对空缺值进行处理
- 数据降维(特征选择)--(PCA、LDA)
备注:主成分分析 ( Principal Component Analysis , PCA )
线性鉴别分析(Linear Discriminant Analysis, LDA),也称Fisher线性判别(Fisher Linear Discriminant ,FLD), 这种算法是Ronald Fisher 于 1936年发明的,是模式识别的经典算法。
3.3分类器设计
3.3.1划分数据集
给定带有类标号的数据集,并且将数据集划分为两个部分
- 训练集(training set)
- 测试集(testing set)
划分策略:
1.当数据集D的规模较大时
训练集2|D|/3,测试集是1|D|/3
2.当数据集D的规模不大时
n交叉验证法(n-fold validation) 将数据集随机地划分为n组 之后执行n次循环,在第i次循环中,将第i组数据样本作为测试集,其余的n-1组数据样本作为训练集,最终的精度为n个精度的平均值。
3.当数据集D的规模非常小时
每次交叉验证时,只选择一条测试数据,剩余的数据均作为训练集。 原始数据集有m条数据时,相当于m-次交叉验证。 是N-次交叉验证的一个特例。
3.3.2分类器构造
利用训练集构造分类器(分类模型)
通过分析由属性描述的每类样本的数据信息,从中总结出分类的规律性,建立判别公式或判别规则
在分类器构造过程中,由于提供了每个训练样本的类标号,这一步也称作监督学习(supervised learning)
3.3.3分类器测试
利用测试集对分类器的分类性能进行评估,具体方式是:
首先,利用分类器对测试集中的每一个样本进行分类
其次,将分类得到的类标号和测试集中数据样本的原始类标号进行对比
由上述过程得到分类器的分类性能(如何评价?)
分类的评价准则---约定和假设
1)指标一,精确度(accuracy)
- 是最常用的评价准则
- 代表测试集中被正确分类的数据样本所占的比例
- 反映了分类器对于数据集的整体分类性能
2)指标二,查全率(recall)
- 第j个类别的查全率(召回率)表示在本类样本中,被正确分类的样本占的比例
- 代表该类别的分类精度
3)指标三,查准率(precision)
- 第j个类别的查准率表示被分类为该类的样本中,真正属于该类的样本所占比例
- 代表该类别的分类纯度
4)指标四,F-measure
- 可以比较合理第评价分类器对每一类样本的分类性能
- 它是查全率和查准率的组合表达式
- 其中参数β是可以调节的,通常取值为1
5)指标五,几何均值(G-mean)
- 它能合理地评价数据集的整体分类性能
- 是各个类别查全率的平方根,当各个类别的查全率都大时才增大
- 同时兼顾了各个类别的分类精度
3.4分类决策
在构造成功分类器之后(通过测试),则可以利用该分类器实际执行分类。
4分类技术
1)决策树分类
决策树分类方法对训练集进行训练,生成一颗二叉或多叉的决策树。
决策树包含三种节点,根节点没有入边,但有零条或多条出边;内部节点只有一条入边和两条或多条出边;叶节点只有一条入边,但没有出边。
在决策树的三种节点中,根节点代表某一个类别值,非叶节点代表某个一般属性(非类别属性)的一个测试;从根节点到叶节点的一条路径形成一条分类规则;一颗决策树能够方便地转化为若干分类规则。
挖掘者可以根据分类规则直观地对未知类别的样本进行预测。具体方法:从数的根节点开始,将测试条件用于检验样本,根据测试结果选择适当的分支,沿着该分支要么到达另一个内部节点,再次使用新的测试规则;要么到达叶节点,结果是将叶节点的类别标号赋值给检验样本。
决策树归纳的学习算法必须解决以下两个问题:一、如何分裂训练样本集?树的增长过程中的每个递归步必须选择一个属性作为测试条件,将样本集划分为更小的子集。为了实现该步,算法必须提供为不同类型的属性指定测试条件的方法,并且提供评估每种测试条件的客观度量;二、如何停止分裂过程?需要有终止决策树生长过程的结束条件。可能的策略是一直分裂,直到所有的样本都属于同一个类别,或者所有样本的属性值都相同。
不同决策树采用的技术不同,已经有很多成熟而有效的决策树学习算法,如:ID3、C4.5、CART、Random Forest等。
2)贝叶斯分类
贝叶斯分类方法有一个明确的基本概率模型,用以给出某个样本属于某个类别标签的概率。
贝叶斯分类方法有两种主要实现:朴素贝叶斯分类器和贝叶斯网络。朴素贝叶斯分类器是基于贝叶斯定理的统计分类方法,它假定属性之间相互独立,但实际数据集中很难保证这一条件,朴素贝叶斯分类器分类速度快而且分类准确度高,支持增量学习。贝叶斯网络使用贝叶斯网络描述属性之间的依赖关系。
3)k-最近邻分类
k-最近邻分类算法是一种基于实例的学习算法,不需要事先使用训练样本构建分类器,而是直接使用训练集对测试样本进行分类,以确定类别标签。
k-最近邻分类使用具体的训练实例进行预测,不必维护从数据集中抽象出来的模型,需要邻近性度量来确定实例间的相似度或距离,还需要分类函数根据测试实例与其他实例的近邻性返回测试实例的预测类别标签。
k-最近邻分类在k很小的时候对噪声非常敏感。
4)神经网络分类
神经网络(neural network)是大量的简单神经元按一定规则连接构成的网络系统,能够模拟人类大脑的结构和功能。
目前的神经网络模型非常丰富,典型的模型有感知器模型、多层前向传播模型、BP模型(weka实现)、Hopfield网络、SOM自组织网络等。
5)支持向量机(SVM)
6)Logistics回归
7)组合方法
除最近邻方法外,之前介绍的分类技术都是使用从训练数据得到的单个分类器来预测未知样本的类标号。组合方法是通过聚集多个分类器的预测来提高分类准确率。
组合方法由训练数据构建一组基分类器,然后通过对每个基分类器进行投票来进行分类。
bagging(装袋)
random forest(随机森林)
boosting(提升)
stacking(堆栈)