分类算法综述

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

《数据挖掘》

数据挖掘分类算法综述

专业:计算机科学与技术专业学号:S********

*****

指导教师:***

时间:2011年08月21日

数据挖掘分类算法综述

数据挖掘出现于20世纪80年代后期,是数据库研究中最有应用价值的新领域之一。它最早是以从数据中发现知识(KDD,Knowledge Discovery in Database)研究起步,所谓的数据挖掘(Data Mining,简称为DM),就从大量的、不完全的、有噪声的、模糊的、随机的、实际应用的数据中提取隐含在其中的、人们不知道的但又有用的信息和知识的过程。

分类是一种重要的数据挖掘技术。分类的目的是根据数据集的特点构造一个分类函数或分类模型(也常常称作分类器)。该模型能把未知类别的样本映射到给定类别中的一种技术。

1. 分类的基本步骤

数据分类过程主要包含两个步骤:

第一步,建立一个描述已知数据集类别或概念的模型。如图1所示,该模型是通过对数据库中各数据行内容的分析而获得的。每一数据行都可认为是属于一个确定的数据类别,其类别值是由一个属性描述(被称为类别属性)。分类学习方法所使用的数据集称为训练样本集合,因此分类学习又可以称为有指导学习(learning by example)。它是在已知训练样本类别情况下,通过学习建立相应模型,而无指导学习则是在训练样本的类别与类别个数均未知的情况下进行的。

通常分类学习所获得的模型可以表示为分类规则形式、决策树形式或数学公式形式。例如,给定一个顾客信用信息数据库,通过学习所获得的分类规则可用于识别顾客是否是具有良好的信用等级或一般的信用等级。分类规则也可用于对今后未知所属类别的数据进行识别判断,同时也可以帮助用户更好的了解数据库中的内容。

图1 数据分类过程中的学习建模

第二步,利用所获得的模型进行分类操作。首先对模型分类准确率进行估计,例如使用保持(holdout)方法。如果一个学习所获模型的准确率经测试被认为是可以接受的,那么就可以使用这一模型对未来数据行或对象(其类别未知)进行分类。例如,在图2中利用学习获得的分类规则(模型)。对已知测试数据进行模型

准确率的评估,以及对未知类别的新数据进行分类预测。

图2 数据分类过程中的分类测试

分类的具体规则可描述如下:给定一组训练数据的集合T(Training set),由一条条的数据库记录(Record)组成的,T 的每一条记录包含若干条属性(Attribute)组成一个特征向量,用矢量),...,,(21n x x x X =表示,其中)1(n i x i ≤≤对应各非类别属性,可以有不同的值域,当一属性的值域为连续域时,该属性为连续属性(Numerical Attribute),否则为离散属性(Discrete Attribute),用c 表示类别属性),...,,(21k c c c c =,即数据集有k 个不同的类别,那么,T 就隐含了一个从矢量X 到类别属性的映射函数c X f H →)(:。分类的目的就是分析输入数据,通过在训练集中的数据表现出来的特性,为每一个类找到一种准确的描述或者模型,采用该种方法(模型)将隐含函数表示出来。构造分类模型的过程一般分为训练和测试两个阶段,在构造模型之前,要求将数据集随机地分为训练数据集和测试数据集。在训练阶段,使用训练数据集通过分析有属性描述的数据库元组来构造模型。在测试阶段,使用测试数据集,来评估模型的分类准确率,如果认为模型的准确率可以接受,就可以用该模型对其它数据元组进分类,一般来说,测试阶段的代价远远低于训练阶段。

2. 分类数据的预处理

为了提高分类的准确性、有效性和可伸缩性,在进行分类之前通常要对数据进行预处理,包括以下几方面:

(1)数据清理

大多数数据预处理是数据清理的一种形式,其目的是消除或减少数据噪声和处理缺失数据的信息。噪声代表属性值中的随机错误。在所有大的数据集中噪声以各种形式和排列方式出现,对噪声数据通常关心的问题如下:

① 发现重复记录。

② 查找错误的属性值。在分类数据中寻找错误是大型数据集所面临的一个

问题。一些数据挖掘工具提供了频率值或分类属性的预测能力值的汇

总,可以认为预测能力值接近于0的属性值可能是错误的。

③数据平滑。数据平滑是一个数据清理和数据转换的过程。一些数据平滑

技术努力减少数值属性值的维数。一些分类器,如神经网络,有在分类

过程中用函数完成数据平滑的功能。当数据平滑在分类过程中完成时,

则称为是内部数据平滑。外部数据平滑是在分类以前进行的,舍入和计

算平均值是两种简单的外部数据平滑技术。当我们想使用不支持数值数

据的分类器,并想保留数值属性值的原始信息时,用平均值平滑就很合

适。在这种情况下,所有的数值属性值被相应的中值所替代。

在处理缺失数据时,因为在训练阶段和分类过程本身,缺失数据值会导致一些问题,训练数据中的缺失值会产生不准确的结果,所以必须进行处理。分类方法必须能够处理一个要被分类的元组中的缺失数据,有许多种处理缺失数据的方法。

①忽略缺失数据。一些数据挖掘算法,包括神经网络和贝叶斯分类器采用

了这种方法。

②丢弃含有缺失值的记录。当记录只有一小部分缺失数据并且我们可以确

定缺失值表示信息丢失时,应用这种方法非常合适。

③对于实值数据,用中值代替缺失值。在大多数情况下这是处理数值属性

的一种理想的方法。

④对缺失数据给定一个假设的值,这可能需要使用某种方法预测这个值是

什么。

⑤用其它相似样本中的属性值代替某个样本缺失的属性值。

(2)相关性分析

由于数据集中的许多属性可能与分类任务不相关,若包含这些属性将减慢和可能误导学习过程。相关性分析的目的就是删除这些不相关或冗余的属性。

(3)数据变换

数据可以概化到较高层概念。比如,连续值属性“收入”的数值可以概化为离散值:低、中、高。此外数据也可以规范化,规范化将给定属性的值按比例缩放落入较小的区间,比如[0,1]等。

3. 分类算法

数据挖掘有多种经典分类算法,这些算法基于不同的分类思想,例如基于距离的KNN算法、基于归纳的决策树算法、基于统计的贝叶斯算法等等,本文主要介绍以下几种经典分类算法。

3.1 决策树分类

在求解分类问题的方法中决策树学习是应用最广的归纳推理算法之一。它是一种逼近离散函数值的方法,分类精度高,操作简单,并且对嗓声数据有很好的健壮性,因而成为实用的并且比较流行的数据挖掘算法。它的最大优点是,在学习过程中不需要使用者了解很多背景知识,只要训练样本集能够用“属性值”的

相关文档
最新文档