APP下载

基于SPSS和KNIME的K-means聚类结果研究

2010-08-08

网络安全与数据管理 2010年12期
关键词:数据挖掘运算聚类

陈 朋

(上海大学 管理学院,上海 200444)

近年来,随着数据挖掘工具的不断涌现,如何选择数据挖掘工具已成为数据挖掘技术引入的一大难题。Elder Research Inc.(ERI)提供了许多数据挖掘系统和工具的性能测试报告[1]。

不同的软件有不同的特点,一方面要关注它们的性能,同时也要关注这些软件应用到数据挖掘中时产生的结果。下面仅讨论在 SPSS(ver.16)和 KNIME(ver.2.1.1)中K-means算法所产生的结果的特点和差别。

1 K-means算法

K-means[2]算法是一种著名的并且常用的聚类方法。K-means以k为参数,把n个对象分为k个簇(cluster),以使簇内具有较高的相似度,而簇间的相似度较低。相似度的计算是根据一个簇中对象的平均值(被看作簇的重心)来进行的。

K-means算法随机地选择k个对象,每个对象初始地代表了一个簇的平均值或中心,根据其与各个簇中心的距离,对剩余的每个对象赋给最近的簇,然后重新计算每个簇的平均值。这个过程不断重复,直到准则函数收敛。通常,采用平方误差准则定义如下:

式中,E是数据库中所有对象的平方误差的总和,p是空间中的点,表示给定的数据对象,mi是簇Ci的平均值(p和mi都是多维的)。这个准则试图使生成的结果簇尽可能地紧凑和独立。

该算法尝试找出使平方误差函数值最小的k个划分。若结果簇密集,而簇与簇之间的区别明显时,其效果好。对处理大数据集,该算法的可伸缩度和效率相对较高,因为它的复杂度是O(nkt),其中,n是所有对象的数目,k 是簇的数目,t是迭代的次数。 通常,k<<n,且 t<<n。这个算法经常以局部最优结束。

但是,K-means方法只有在簇的平均值被定义的情况下才能使用,这可能不适用于某些应用,例如涉及有分类属性的数据。该方法的一个缺点是要求用户必须事先给出k(要生成的簇的数目)。K-means方法不适用于发现非凸面形状的簇。此外,它对于“噪声”和孤立点数据敏感,少量的该种数据能够对平均值产生极大的影响。

2 SPSS和KNIME的介绍

SPSS(Statistical Product and Service Solutions)是世界上最早采用图形菜单驱动界面的统计软件,它最突出的特点就是操作界面极为友好,输出结果美观漂亮。它将几乎所有的功能都以统一、规范的界面展现出来,使用Windows的窗口方式展示各种管理和分析数据方法的功能,使用对话框展示出各种功能选择项,用户只要掌握一定的Windows操作技能,粗通统计分析原理,就可以使用该软件为特定的科研工作服务。SPSS采用类似Excel表格的方式输入与管理数据,数据接口较为通用,能方便地从其他数据库中读取数据。其统计过程包括了常用的、较为成熟的统计过程,完全可以满足非统计专业人士的工作需要。输出结果十分美观,存储时则是专用的SPO格式,可以转存为HTML格式和文本格式。对于熟悉老版本编程运行方式的用户,SPSS还特别设计了语法生成窗口,用户只需在菜单中选好各个选项,然后按“粘贴”按钮就可以自动生成标准的SPSS程序,极大地方便了中、高级用户。

KNIME(Konstanz Information Miner)[3]数据挖掘工具基于Eclipse开发环境精心开发,可以扩展使用Weka中的挖掘算法。它采用类似数据流(data flow)的方式来建立分析挖掘流程。挖掘流程由一系列功能节点 (node)组成,每个节点有输入/输出端口(port),用于接收数据或模型、导出结果。节点之间的连接很方便,直接用鼠标拖拽连接端口即可。

KNIME中每个节点都带有交通信号灯,用于指示该节点的状态(未连接、未配置、缺乏输入数据时为红灯,准备执行为黄灯,执行完毕后为绿灯)。KNIME的特色功能HiLite允许用户在节点结果中标记感兴趣的记录,并进一步展开后续探索。

3 两类数据集的聚类结果

3.1 大样本数据集的聚类分析

鸢尾花数据集[4]被公认为最著名的用于数据挖掘的数据集,它包含3种植物种类,每种各有 50个样本,所以样本总数为150。它有花萼长 (sepallength)、花萼宽(sepalwidth)、花瓣长(petallength)、花瓣宽(petalwidth)4 个属性,且都是数值属性。为了使实验结果更明显,添加属性class用以显示鸢尾花所处的类,数据库内的三个品种分别是 Iris-versicolor、Iris-setosa 和 Iris-virginicia。

设置k=3,在SPSS中K-means的运算结果如表1所示,KNIME中K-means的运算结果如图1所示。

表1 SPSS中K-means运算结果(k=3)

由于两个工具得到的聚类序号不具有一一对应关系,为了比较两种结果需要对类号进行统一。根据鸢尾花数据集的属性class可以完成这项工作,得到统一后的结果如表2所示。

图1 KNIME中K-means运算的结果(k=3)

表2 进行统一后的聚类结果

3.2 小样本数据集的聚类分析

实验所采用的小样本数据集如表3所示,当k分别设置为2和3时,使用KNIME的运算结果如图2所示,使用SPSS的运算结果如表4和表5所示。

表3 数据准备

通过以上结果可以得出这样的结论:当K-means聚类方法用于大样本数据集的时候,无论是从聚类的最终中心距离,还是每个聚类内所有样本的数目,SPSS和KNIME产生的聚类几乎是一致的,即排除K-means算法本身的一些缺陷以外,不同的分析工具不会对聚类结果产生显著的影响。

表4 SPSS中K-means运算的结果(k=2)

表5 SPSS中K-means运算的结果(k=3)

当K-means聚类方法用于大样本数据集的时候,本文只是选取了在k值分别是2和3两种情况下的结果,可以看出k值从2变为3时,两种工具得出的最终结果存在较大的差异,这是因为算法开始时随机地选择k个对象,两种工具选取的样本将会有所不同,加之样本总数的限制,最终导致了聚类结果的差别。

数据挖掘的工具还有很多,如何进行数据集的选取是目前存在的问题,为了得到更加完善和具有普通意义的结论,需要关注这些问题。

[1]ABBOTT D W,MATKOVSKY I P.An evaluation of high-end data mining tools for fraud detection[R].IEEE International Conference on Systems.1998,12:12-14.

[2]HAN Jia Wei,KAMBER M著.数据挖掘概念与技术[M].范明,孟小峰,译.北京:机械工业出版社,2004.

[3]BERTHOLD M R,CEBRON N.Knime:the konstanz information miner[R].http://www.knime.org,2007,9.

[4]FISHER R A.Iris plants database[DB].http://archive.ics.uci.edu/ml/datasets/Iris,1988,7.

[5]黄颖,李伟.EM算法与 K-Means算法比较[J].计算机与现代化,2007(9):12-14.

[6]LI Tao Ying,CHEN Yan.An effective algorithm to solve optimal k value of K-means algorithm[S].International symposium on distributed computing and applications to business,2006.

[7]JIANG Sheng Yi,LI Qing Hua.An enhanced K-means clustering algorithm[J].Computer Engineer&Science,2006.

[8]袁方,周志永,宋鑫.初始聚类中心优化的 K-means算法[J].计算机工程,2007,2(33).

[9]张雪英.国外先进数据挖掘工具的比较分析[J].计算机工程,2003,9(29).

猜你喜欢

数据挖掘运算聚类
重视运算与推理,解决数列求和题
探讨人工智能与数据挖掘发展趋势
有趣的运算
基于DBSACN聚类算法的XML文档聚类
基于并行计算的大数据挖掘在电网中的应用
“整式的乘法与因式分解”知识归纳
拨云去“误”学乘除运算
基于改进的遗传算法的模糊聚类算法
一种基于Hadoop的大数据挖掘云服务及应用
一种层次初始的聚类个数自适应的聚类方法研究