论文部分内容阅读
摘 要:分类是一种重要的数据挖掘技术,其目的是根据数据集的特点构造一个分类函数或分类模型,该模型能把未知类别的样本映射到给定类别中的某一个。通过介绍企业级数据挖掘工具S+Miner下的实验方法,用S语言分别实现分类型决策树及神经元网络算法并嵌入系统内,通过数据集实验比较分析了两种算法,为深入研究分类算法做好铺垫。
关键词:分类;S+Miner;分类型决策树;神经元网络;S语言
1 引 言
随着数据库应用的不断深化及数据库的规模急剧膨胀,产生了海量的数据信息。如何有效地组织和管理这些海量的信息资源,使人们能够按照其内容实现自动分类,帮助用户迅速准确地获取其所需要的知识和信息,是数据挖掘领域目前的研究热点之一,具有广泛的应用背景和实用价值。分类问题由于其使用的广泛性,现已引起了越来越多的关注。
分类技术在很多领域都有应用,决策树和神经元网络都是经典的分类方法,本文把这两种方法嵌入到S+Miner系统,进而对两种方法进行比较。
2 数据挖掘中的分类原理及算法
数据挖掘中的分类方法旨在使用一个分类函数或分类模型,由该模型把数据库中的数据项映射到某一给定的类中。数据分类是一个两步过程,第一步建立一个模型,描述预定的数据类集。第二步,使用模型进行分类。首先评估模型的预测准确率。保持方法是一种使用类标号样本测试集的简单方法。这些样本随机选取,并独立于训练样本。模型在给定测试集上的准确率是正确被模型分类的测试样本的百分比。分类的主要技术有决策树方法、KNN(K-Nearest Neighbor)法、SVM(Support Vector Machine)法即支持向量机法等。
决策树算法通常由调用一个递归分割的算法实现,而树的根节点从所有属性中选择一种准则值最高的属性来做分支,这种属性选择的方法就是不纯度( impurity) 度量方法。不纯度度量方法包括熵(entropy)、信息增益( information gain)等。不同的度量有不同的效果,特别是对于多值属性。把数据根据属性选择的结果分割成几个片段,每个数据片段对应一个根节点的孩子,然后对每个孩子递归重复前面的过程。当一个完整的树构造结束后,开始剪枝来约简树的大小,当然也可以在生成子树时事先进行判断是否要构造。一般不同的决策树算法主要区别在属性选择、二叉树或多叉树以及剪枝的方法三个方面。例如ID3算法的实质就是构造一个熵值下降平均最快的判定树。
目前在分类中使用的神经网络算法以BP网络为代表,BP网络严格地说是一种应用在多层神经网络上的学习算法,它包括正向传播和反向传播两个步骤。BP算法属于δ学习律,是一种有教师的学习算法,学习样本为n个x1,x2,...,xn,已知与其对应的教师为t1,t2,...,tn,学习算法是将实际输出y1,y2,...,yn与t1,t2,...,tn的误差来修改其联结权和阈值,使y与要求的t尽可能接近。其中定义处处可微的激活函数:f(uj)=■总误差为:E总=■■■(t■■-y■■)优化计算(误差调整)采用梯度法,对每个神经元的联结权Wsq(包括阈值在内)的修正值△E总=-η■(■)2≤0其中η为增益因子而△Wsq=-■η■-ε=■■(t■■-y■■)2用梯度法可以修正联结权和阈值,使总的误差向减少的方向变化,直到△E总=0为止,这种算法矢量W能够得到稳定的解,但不保证是全局最小解,可能是局部极小解。不同的B-P神经网络主要区别在激活函数,优化计算方法和网络拓扑结构三方面。标准的RBF神经网络是三层网络,其激活函数是一组RBF基函数,通常为高斯基函数。在我们的实现中采用RBF网络。
3 S+Miner数据挖掘工具及S语言
S+Miner(Insightful Miner的简称)是一个企业级的数据挖掘工具。它可以对很多数据源进行导入及导出,包括Excel和Lotus等电子表格、Access类的数据库、SAS和SPSS类的统计软件、Oracle/DB2/SQLServer等流行的关系型数据库。这种特性有利于从容处理多样化的数据格式,使得数据挖掘在实际应用中更加方便和高效。
S语言是由AT&T贝尔实验室开发的一种用来进行数据探索、统计分析、作图的解释型语言。它的丰富的数据类型(向量、数组、列表、对象等)特别有利于实现新的统计算法,其交互式运行方式及强大的图形及交互图形功能使得我们可以便捷地探索数据。
4 实验及结果
本实验采用的数据集是SHUTTLE Dataset,取自UCI分类专用数据集,其中含有训练集合43500个,测试集合14500个,属性个数为9个。
首先对数据集进行预处理,目的是消除或减少数据噪声,处理空缺值。本文处理缺失值用的工具也是S+Miner提供的,对缺失值采用的方法是去除行,然后通过洗牌处理重新确定各列的值次序。洗牌处理方式是将数据集中的样本进行随机排序,实现随机选取训练样本集和测试样本集。然后对数据集进行分割,分成训练集和测试集。
通过描述性统计组件可以计算、显示数据的概述性统计量。对连续型变量,S+Miner计算值的频数、缺失值频数、均值、标准差以及极值。对分类型变量,S+Miner统计每个水平的频数。每个变量的描述性统计显示为一个图,S+Miner对连续型变量显示直方图,对分类型变量显示条形图。经过这一系列处理后,可以对数据集分别以分类型神经元网络和分类型决策树方法进行分类。
5 结 论
分类型决策树节点整体精确度99.5%,而分类型神经元网络节点的整体精确度是96.4%。因此分类型决策树节点整体的预测结果要好一些,决策树是一种非参数估计算法,能随着数据库的增加而基本保持其特性。决策树由于一般采用单变量做分支,在识别模型时必然以一个区域中最显著的类作为代表。而如果由于数据的类别不是以坐标平行的,如需要旋转时,对决策树算法来说这些数据的“噪音”可能太大,从而不能高精度地识别。
而神经网络的缺点是训练时间比较长,但其应用分类器进行分类时算法的性能相当出色。由于其选取的函数多为S型函数,而且是多个变量,这样在识别时可以处理旋转和高精度的边界分割曲线。从数学的角度来看,基于分类任务的神经网络与传统统计理论的回归在识别实例任务上是一致的,并且大部分神经网络可以找到相对应的回归模型。 这也就是说神经网络还是可以与回归一样被理解。但是由于它比较复杂,在没有工具的大力支持下人们理解神经网络是比较困难的。反过来说,如果有好的工具作为支持,神经网络一样是可以被较好地理解的。
参考文献:
[1]Jiawei Han,Micheline Kamber. 范明,孟小峰译.数据挖掘概念与技术[M].北京:机械工业出版社,2001.
[2]刘红岩,陈剑,陈国青.数据挖掘中的数据分类算法综述[J].清华大学学报(自然科学版),2002,42(6):727~730.
[3]北京宏能畅然数据应用有限公司. S+Miner使用手册[M].2007.
关键词:分类;S+Miner;分类型决策树;神经元网络;S语言
1 引 言
随着数据库应用的不断深化及数据库的规模急剧膨胀,产生了海量的数据信息。如何有效地组织和管理这些海量的信息资源,使人们能够按照其内容实现自动分类,帮助用户迅速准确地获取其所需要的知识和信息,是数据挖掘领域目前的研究热点之一,具有广泛的应用背景和实用价值。分类问题由于其使用的广泛性,现已引起了越来越多的关注。
分类技术在很多领域都有应用,决策树和神经元网络都是经典的分类方法,本文把这两种方法嵌入到S+Miner系统,进而对两种方法进行比较。
2 数据挖掘中的分类原理及算法
数据挖掘中的分类方法旨在使用一个分类函数或分类模型,由该模型把数据库中的数据项映射到某一给定的类中。数据分类是一个两步过程,第一步建立一个模型,描述预定的数据类集。第二步,使用模型进行分类。首先评估模型的预测准确率。保持方法是一种使用类标号样本测试集的简单方法。这些样本随机选取,并独立于训练样本。模型在给定测试集上的准确率是正确被模型分类的测试样本的百分比。分类的主要技术有决策树方法、KNN(K-Nearest Neighbor)法、SVM(Support Vector Machine)法即支持向量机法等。
决策树算法通常由调用一个递归分割的算法实现,而树的根节点从所有属性中选择一种准则值最高的属性来做分支,这种属性选择的方法就是不纯度( impurity) 度量方法。不纯度度量方法包括熵(entropy)、信息增益( information gain)等。不同的度量有不同的效果,特别是对于多值属性。把数据根据属性选择的结果分割成几个片段,每个数据片段对应一个根节点的孩子,然后对每个孩子递归重复前面的过程。当一个完整的树构造结束后,开始剪枝来约简树的大小,当然也可以在生成子树时事先进行判断是否要构造。一般不同的决策树算法主要区别在属性选择、二叉树或多叉树以及剪枝的方法三个方面。例如ID3算法的实质就是构造一个熵值下降平均最快的判定树。
目前在分类中使用的神经网络算法以BP网络为代表,BP网络严格地说是一种应用在多层神经网络上的学习算法,它包括正向传播和反向传播两个步骤。BP算法属于δ学习律,是一种有教师的学习算法,学习样本为n个x1,x2,...,xn,已知与其对应的教师为t1,t2,...,tn,学习算法是将实际输出y1,y2,...,yn与t1,t2,...,tn的误差来修改其联结权和阈值,使y与要求的t尽可能接近。其中定义处处可微的激活函数:f(uj)=■总误差为:E总=■■■(t■■-y■■)优化计算(误差调整)采用梯度法,对每个神经元的联结权Wsq(包括阈值在内)的修正值△E总=-η■(■)2≤0其中η为增益因子而△Wsq=-■η■-ε=■■(t■■-y■■)2用梯度法可以修正联结权和阈值,使总的误差向减少的方向变化,直到△E总=0为止,这种算法矢量W能够得到稳定的解,但不保证是全局最小解,可能是局部极小解。不同的B-P神经网络主要区别在激活函数,优化计算方法和网络拓扑结构三方面。标准的RBF神经网络是三层网络,其激活函数是一组RBF基函数,通常为高斯基函数。在我们的实现中采用RBF网络。
3 S+Miner数据挖掘工具及S语言
S+Miner(Insightful Miner的简称)是一个企业级的数据挖掘工具。它可以对很多数据源进行导入及导出,包括Excel和Lotus等电子表格、Access类的数据库、SAS和SPSS类的统计软件、Oracle/DB2/SQLServer等流行的关系型数据库。这种特性有利于从容处理多样化的数据格式,使得数据挖掘在实际应用中更加方便和高效。
S语言是由AT&T贝尔实验室开发的一种用来进行数据探索、统计分析、作图的解释型语言。它的丰富的数据类型(向量、数组、列表、对象等)特别有利于实现新的统计算法,其交互式运行方式及强大的图形及交互图形功能使得我们可以便捷地探索数据。
4 实验及结果
本实验采用的数据集是SHUTTLE Dataset,取自UCI分类专用数据集,其中含有训练集合43500个,测试集合14500个,属性个数为9个。
首先对数据集进行预处理,目的是消除或减少数据噪声,处理空缺值。本文处理缺失值用的工具也是S+Miner提供的,对缺失值采用的方法是去除行,然后通过洗牌处理重新确定各列的值次序。洗牌处理方式是将数据集中的样本进行随机排序,实现随机选取训练样本集和测试样本集。然后对数据集进行分割,分成训练集和测试集。
通过描述性统计组件可以计算、显示数据的概述性统计量。对连续型变量,S+Miner计算值的频数、缺失值频数、均值、标准差以及极值。对分类型变量,S+Miner统计每个水平的频数。每个变量的描述性统计显示为一个图,S+Miner对连续型变量显示直方图,对分类型变量显示条形图。经过这一系列处理后,可以对数据集分别以分类型神经元网络和分类型决策树方法进行分类。
5 结 论
分类型决策树节点整体精确度99.5%,而分类型神经元网络节点的整体精确度是96.4%。因此分类型决策树节点整体的预测结果要好一些,决策树是一种非参数估计算法,能随着数据库的增加而基本保持其特性。决策树由于一般采用单变量做分支,在识别模型时必然以一个区域中最显著的类作为代表。而如果由于数据的类别不是以坐标平行的,如需要旋转时,对决策树算法来说这些数据的“噪音”可能太大,从而不能高精度地识别。
而神经网络的缺点是训练时间比较长,但其应用分类器进行分类时算法的性能相当出色。由于其选取的函数多为S型函数,而且是多个变量,这样在识别时可以处理旋转和高精度的边界分割曲线。从数学的角度来看,基于分类任务的神经网络与传统统计理论的回归在识别实例任务上是一致的,并且大部分神经网络可以找到相对应的回归模型。 这也就是说神经网络还是可以与回归一样被理解。但是由于它比较复杂,在没有工具的大力支持下人们理解神经网络是比较困难的。反过来说,如果有好的工具作为支持,神经网络一样是可以被较好地理解的。
参考文献:
[1]Jiawei Han,Micheline Kamber. 范明,孟小峰译.数据挖掘概念与技术[M].北京:机械工业出版社,2001.
[2]刘红岩,陈剑,陈国青.数据挖掘中的数据分类算法综述[J].清华大学学报(自然科学版),2002,42(6):727~730.
[3]北京宏能畅然数据应用有限公司. S+Miner使用手册[M].2007.