1.分类的概念
数据挖掘中分类的目的是学会一个分类函数或分类模型(也常称为分类器)。该模型能把数据库中的数据项映射到给定类别中的某一个。
分类可描述如下:输入数据,或称训练集(Training Set),是由一条条数据库记录(Record)组成的。每一条记录包含若干个属性(Attribute),组成一个特征向量。训练集的每条记录还有一个特定的类标签(Class Label)与之对应。该类标签是系统的输入,通常是以往的一些经验数据。一个具体样本的形式可为样本向量:(v1,v2,…,vn;c),在这里v1表示字段值,c表示类别。分类的目的是:分析输入数据——通过在训练集中的数据表现出来的特性,为每一个类找到一种准确的描述或者模型。由此生成的类描述用来对未来的测试数据进行分类。尽管这些未来的测试数据的类标签是未知的,我们仍可以由此预测这些新数据所属的类。注意是预测,而不能肯定,因为分类的准确率不能达到百分之百。我们也可以由此对数据中的每一个类有更好的理解。也就是说:我们获得了对这个类的知识。
所以分类(Classification)也可以定义为:对现有的数据进行学习,得到一个目标函数或规则,把每个属性集x映射到一个预先定义的类标号y。
目标函数或规则也称分类模型(Classification Model),分类模型有两个主要作用:一是描述性建模,即作为解释性的工具,用于区分不同类中的对象;二是预测性建模,即用于预测未知记录的类标号。
2.分类的原理
分类方法是一种根据输入数据集建立分类模型的系统方法,这些方法都是使用一种学习算法(Learning Algorithm)确定分类模型,使该模型能够很好地拟合输入数据中类标号和属性集之间的联系。学习算法得到的模型不仅要很好地拟合输入数据,还要能够正确地预测未知样本的类标号。因此,训练算法的主要目标就是建立具有很好泛化能力的模型,即建立能够准确预测未知样本类标号的模型。
图4-10展示了解决分类问题的一般方法。首先需要一个训练集,它由类标号已知的记录组成。使用训练集建立分类模型,该模型随后将运用于检验集(Test Set)。检验集由类标号未知的记录组成。
图4-10 分类原理示意图(www.xing528.com)
通常分类学习所获得的模型可以表示为分类规则形式、决策树形式或数学公式形式。例如,给定一个顾客信用信息数据库,通过学习所获得的分类规则可用于识别顾客是否具有良好的信用等级或一般的信用等级。分类规则也可用于对今后未知所属类别的数据进行识别判断,同时也可以帮助用户更好地了解数据库中的内容。
构造模型的过程一般分为训练和测试两个阶段。在构造模型之前,要求将数据集随机地分为训练数据集和测试数据集。在训练阶段,使用训练数据集,通过分析由属性描述的数据库元组来构造模型,假定每个元组属于一个预定义的类,由一个称作类标号属性的属性来确定。训练数据集中的单个元组也称作训练样本,一个具体样本的形式可为:(u1,u2,…,un;c)。其中ui表示属性值,c表示类别。由于提供了每个训练样本的类标号,该阶段也称为有指导的学习。通常,模型用分类规则、判定树或数学公式的形式提供。在测试阶段,使用测试数据集来评估模型的分类准确率。如果认为模型的准确率可以接受,就可以用该模型对其他数据元组进行分类。一般来说,测试阶段的代价远远低于训练阶段。
为了提高分类的准确性、有效性和可伸缩性,在进行分类之前,通常要对数据进行预处理,包括:
①数据清理。其目的是消除或减少数据噪声,处理空缺值。
②相关性分析。由于数据集中的许多属性可能与分类任务不相关,若包含这些属性可能将减慢和误导学习过程。相关性分析的目的就是删除这些不相关或冗余的属性。
③数据变换。数据可以概化到较高层概念。比如,连续值属性“收入”的数值可以概化为离散值:低,中,高。又比如,标称值属性“市”可概化到高层概念“省”。此外,数据也可以规范化。规范化将给定属性的值按比例缩放,落入较小的区间,比如[0,1]等。
3.常用的分类方法
分类的方法有多种,常用的分类方法主要有7种,如图4-11所示。在随后的内容中,将K-近邻和贝叶斯分类方法的基本原理及典型的应用案例。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。