您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 资本运营 > 数据分析课程设计论文
基于K-均值的Iris数据聚类分析姓名谢稳学号1411010122班级信科14-1成绩_________________《数据分析》课程设计作业基于K-均值的Iris数据聚类分析姓名:谢稳信息与计算科学14-1班摘要数据挖掘在当今大数据新起的时代是一项必须掌握的技能,聚类分析是数据挖掘技术中一项重要的研究课题,在很多领域都有具有广泛的应用,如模式识别、数据分析等。聚类分析的目的是将数据对象分成若干个类或簇,使得在同一个簇中的对象之间具有较高的相似度,而不同簇中的对象之间相似度较低[5]。通过聚类分析,人们能够识别出数据分布密集和稀疏的区域,发现全局的分布模式以及数据属性之间一些意想不到的相互关系。本文对R.A.Fisher在1936年发表的Iris数据进行数据挖掘,使用聚类分析中的K-Means对该问题进行进一步分析研究。实验证明两种方法都是适合的解决此类问题的。关键词Iris数据;聚类分析;K-均值聚类.0前言本文对聚类分析的原理进行阐述,并聚类分析中的谱系聚类法和K-means对R.A.Fisher的Iris数据进行了数据分析,得到了几乎相同的结论,数据量太少,回带误差大约是20%。1数据分析预处理1.1数据来源分析的数据来自R.A.Fisher在1936年发表的Iris数据(见附录B表B.1),据表可知前50个数据为牵牛一类,再50个数据为杂色一类,后50个数据为锦葵一类。将数据样本X变量放入matlab变量名X,,保存为matlab的huaban.mat文件。1.2数据分析采用谱系聚类分析方法和K-means聚类法解决例如Iris类的分类等问题。2聚类分析2.1聚类的概述聚类分析是研究对样品或指标进行分类的一种多元统计方法,是依据研究对象的个体的特征进行分类的方法;聚类分析把分类对象按一定规则分成若干类,这些类非事先指定的,而是根据数据特征确定的。在同一类中这些对象在某种意义上趋向于彼此相似,而在不同类中趋向于不相似;职能是建立一种能按照样品或变量的相似程度进行分类的方法。聚类准则为“亲者相聚,疏者相分”。2.2分类2.2.1R型聚类分析R型聚类分析是对变量(指标)的分类,其主要作用:不但可以了解个别变量之间的亲疏《数据分析》课程设计作业程度,而且可以了解各个变量组合之间的亲疏程度。2.2.2Q型聚类分析Q型聚类分析是对样品的分类,其主要作用:可以综合利用多个变量的信息对样本进行分析;分类结果直观,聚类谱系图清楚地表现数值分类结果;所得结果比传统分类方法更细致、全面、合理。其常用的统计量是距离。常用的聚类方法为谱系聚类法等。2.3谱系聚类法2.3.1概念谱系聚类法是目前应用较为广泛的一种聚类法。谱系聚类是根据生物分类学的思想对研究对象进行分类的方法。在生物分类学中,分类的单位是:门、纲、目、科、属、种。其中种是分类的基本单位,分类单位越小,它所包含的生物就越少,生物之间的共同特征就越多。利用这种思想,谱系聚类首先将各样品自成一类,然后把最相似(距离最近或相似系数最大)的样品聚为小类,再将已聚合的小类按各类之间的相似性(用类间距离度量)进行再聚合,随着相似性的减弱,最后将一切子类都聚为一大类,从而得到一个按相似性大小聚结起来的一个谱系图。2.3.2选择距离(参考文献[1]p209页)在使用系统聚类法进行聚类的过程中,尤其是Q型聚类是建立在样品之间距离矩阵的基础上的,通常需要对原始数据进行参考点的建立和去量纲化的处理,然后求出样品距离矩阵D,我们采用比较广泛的闵可夫斯基(Minkowski)距离:11d(|x-x|)pmpijikjkk当p=2时121d(|x-x|)pmijikjkk即为欧几里得CEuclidean)距离。然后进行类的搜索、合并于距离矩阵的更新涉及类间距离的计算,需要事先计算类与类之间的距离。依据类问距离不同的计算方法,我们可以把系统聚类法分为最短距离法、最长距离法、重心法、离差平方和法(ward)等。设Gp,Gq为前一轮操作中形成的某两个聚类,在本轮操作中归聚为新类Gr=GpGq则新类Gr与前一轮操作中形成吨,Gq之外的任意一类G,的距离递推公式如下:最短距离法,dmin(),rlpldqld其中lp,q.最长距离法,dmin(),rlpldqld其中lp,q.中间距离法2222lqpq11d+,22rlplddd-104.中心距离法2222lqpqnnnnd+,pqpqrlplrrrrdddnnnn《数据分析》课程设计作业其中,np和rn分别为Gp和Gr包含的聚类对象个数,rn=np+nq.Ward法222ll2lqpqllln+nn+nnd+,++n+npqlrlplrrrdddnnnn注意,Ward法要求初始距离矩阵采用欧式距离公式计算各个对象的距离。2.4得到闵可夫斯基(Minkowski)距离谱系聚类法函数(见附录A.1)(1)pdist创建聚类对象的Minkowski距离矩阵。(2)squarform拉直矩阵D。(3)linkage用D或其拉直矩阵创建信息矩阵G,默认的类间距离为最短距离法。(4)dendrogram创建G的谱系聚类图。(5)cluster创建G的指定个数类。2.5画谱系聚类图(见图2.1)图2.1Iris花瓣数据谱系聚类图2.6得出分类由图2.1得出Iris花瓣数据截断处可选择d=1,d=0.8,d=0.666对应的分类个数为2,3,5类。2.7cluster创建G的指定个数类。(matlab程序见A.3)2.7.1分3类图(见图2.2)《数据分析》课程设计作业图2.2谱系聚类分析分为三类图2.8结论由图2.2将数据谱系聚类分析分为三类图可知,将数据分为3类不太恰当,应该两类或者5类更合适,不过也有可能是我们选择的距离有问题。下面K-means我们将更改距离。3k-均值聚类3.1K-Means算法思想1967年Macqueen提出了K-means算法[4],基本思想是把数据集中的数据点随机生成k组,把每组的均值作为中心点。重新计算每个数据点与各组的中心点的相似性,根据数据点相似性的度量准则,把每个数据点重新分组,计算每组新的均值作为中心点。不断重复上述过程,直到中心点的均值收敛,停止迭代过程。K-means算法是一种比较快速的聚类方法,时间复杂度为O(nkt),其中n是数据点的数目,k是分组数目,t是迭代次数。K-means算法也存在不足,最大问题要指定分组数目并且在运行过程中容易导致局部最优。3.1.1K-均值算法K-均值算法是一种已知聚类个数的“无监督学习”算法。首先指定表示聚类个数的K值,然后对数据集聚类,算法结束时用K个聚类中心表示聚类结果。对于设定的目标准则函数,通过向目标准则函数值减小的方向进行迭代更新,目标准则函数值达到极小值时算法结束,得到较优的聚类结果。设数据集为1|idiiXxxR,K个距离中心为V1,V2,..,Vk。令C(1,2,...,)jjk表示K个聚类的类别,则:《数据分析》课程设计作业1V||iixCixC(1)定义目标准则函数为:||11SSE=,iCkjiijdxV(2)其中|Ci|表示Ci类包含样本的个数,使用欧式距离d,()()iijijTjxxxxxx(3)度量样本间的相似性。欧式距离适用于类内数据对象符合超球形分布的情况,目标准则函数SSE表示为每个数据对象到相应聚类中心距离的平方和,即聚类均方误差的最小值。3.1.2K-均值算法的流程如下:(1)随机选取K个初始聚类中心V1,V2,...,Vk;(2)按照最小距离原则,对数据集聚类,确定每个样本的类属关系;(3)使用公式(1)更新K个簇的中心;(4)重复执行(2)到(4),直到目标准则函数收敛或聚类中心稳定。显然,初始聚类中心对K-均值算法产生很大的影响,簇集中易存在平均误差较大的簇,聚类结果仅能收敛到局部最优。即使选取不同的初始聚类中心执行多次K-均值算法,也只是在庞大的初值空间里进行简单的搜索,聚类结果很难达到全局最优。当数据集中存在较多噪音或孤立点时,已有的初始聚类中心优化方法很难发现合适的初始聚类中心。3.2复合相关系数的计算(计算过程见附录A.4)分别记最短、最长、类平均、重心、离差平方和距离为G1、G2、G3、G4、G5,相对应的复合相关系数分别记为R1、R2、R3、R4、R5,以欧式距离为样本间距离计算得到表3-1表3-1复合相关系数R1R2R3R4R50.86390.72760.87680.87700.8728由表2可知以重心距离进行聚类分析效果应该最为理想3.3聚类结果(见图3.1)以重心距离为类间距离进行谱系聚类分析得到(matlab程序参考附录A.1-4)《数据分析》课程设计作业图3.1谱系聚类图3.4谱系聚类结果(见图3.2)图3.2谱系聚类结果3.4K-Means聚类结果(见图3.3)《数据分析》课程设计作业图3.3K-Means聚类结果3.5分析结果由图3.2结果可得第1类有36个样本,第2类有64个样本,第3类有50个样本,由图3.3可知第1类有62个样本,第2类有49个样本,第3类有39个样本两种方法基本得到的结论基本一致,不过都不太理想。这可能是数据量太小了的原因。大数据时代,需要大量的数据。参考文献[1]包研科.数据分析教程.北京:清华大学出版社,2011[2]曾繁慧.数值分析.徐州:中国矿业大学出版社,2009[3]袁方,周志勇,宋鑫.初始聚类中心优化的K-means算发[J].计算机工程,2007,33(3):65-66[4]MacQueen,James.Somemethodsforclassificationandanalysisofmultivariateobservations.ProceedingsofthefifthBerkeleysymposiumonmathematicalstatisticsandprobability.Vol.1.No.281-297.1967.[5]余立强.LAMP架构搭建与网站运行实例[J].网络与信息,2011(8):50-52[6]吴夙慧,成颖,郑彦宁,潘云涛.K-means算法研究综述[J].现代图书情报技术,2011,(5):28-35.《数据分析》课程设计作业附录A.1谱系聚类法函数functionf=test4()loadhuaban.matD=pdist(X,'minkowski');G=linkage(D);dendrogram(G);T=cluster(G,3)A.2自编k-means聚类分析xwKmeans.m函数function[cid,nr,centers]=xwKmeans(x,k,nc)%[CID,NR,CENTERS]=CSKMEANS(X,K,NC)PerformsK-means%X输入聚合数据%K通过观察得到的经验分组数据%每行一个观测,NC为聚类指数,来源于初始的聚类中心值,默认情况下为随机的观测%输出:IDX为最终分类%nr为每个每个聚合的中心值%CENTERSisamatrix,whereeachrow%correspondstoaclustercenter.[n,d]=size(x);ifnargin3ind=ceil(n*rand(1,k));nc=x(ind,:)+randn(k,d);endcid=zeros(1,n);oldcid=ones(1,n);nr=zeros(1,k);maxiter=100;iter=1;while~isequal(cid,oldcid)&itermaxiterfori=1:ndist=sum((repmat(x(i,:),k,1)-nc).^2,2);[m,ind]=min(dist);cid(i)=ind;endfori=1:kind=find(cid==i);nc(i,:)=mean(x(ind,:));nr(i)=length(ind);end《数据分析》课程设计作业iter=iter+1;endmaxiter=2
本文标题:数据分析课程设计论文
链接地址:https://www.777doc.com/doc-4602621 .html