基于weka的数据聚类分析实验.doc_第1页
基于weka的数据聚类分析实验.doc_第2页
基于weka的数据聚类分析实验.doc_第3页
基于weka的数据聚类分析实验.doc_第4页
基于weka的数据聚类分析实验.doc_第5页
已阅读5页,还剩2页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

基于Weka的数据聚类分析实验姓名:覃丽萍 专业:计算机应用技术 学号:20610020471. 实验基本原理及目的聚类分析中的“类”(cluster)和前面分类的“类”(class)是不同的,对cluster更加准确的翻译应该是“簇”。聚类的任务是把所有的实例分配到若干的簇,使得同一个簇的实例聚集在一个簇中心的周围,它们之间距离的比较近;而不同簇实例之间的距离比较远。对于由数值型属性刻画的实例来说,这个距离通常指欧氏距离。在本实验中,我们对前面的“bank-data”作聚类分析,使用最常见的K均值(K-means)算法。下面我们简单描述一下K均值聚类的步骤。K均值算法首先随机的指定K个簇中心。然后:(1)将每个实例分配到距它最近的簇中心,得到K个簇;(2)计分别计算各簇中所有实例的均值,把它们作为各簇新的簇中心。重复(1)和(2),直到K个簇中心的位置都固定,簇的分配也固定。本次实验的目的,是通过利用Weka中提供的simpleKmeans方法对“bank-data”进行聚类分析,更深刻的理解k均值算法,并通过对实验结果进行观察分析,找出实验中所存在的问题。2. 数据的准备及预处理原始数据“bank-data.xls”是excel文件格式的数据,需要转换成Weka支持的ARFF文件格式的。转换方法:在excel中打开“bank-data.xls”,选择菜单文件另存为,在弹出的对话框中,文件名输入“bank-data”,保存类型选择“CSV(逗号分隔)”,保存,我们便可得到“bank-data.csv”文件;然后,打开Weka的Exporler,点击Open file按钮,打开刚才得到的“bank-data.csv”文件,点击“save”按钮,在弹出的对话框中,文件名输入“bank-data.arff”,文件类型选择“Arff data files(*.arff)”,这样得到的数据文件为“bank-data.arff”。K均值算法只能处理数值型的属性,遇到分类型的属性时要把它变为若干个取值0和1的属性。WEKA将自动实施这个分类型到数值型的变换,而且WEKA会自动对数值型的数据作标准化。因此,对于ARFF格式的原始数据“bank-data.arff”,我们所做的预处理只是删去属性“id”,修改属性“children”为分类型。 修改过程如下:在Ultredit中打开“bank-data.arff”,将attribute children numeric改成如下:图1 修改children为分类型这样我们最终得到的数据文件为“bank-data.arff”,含600条实例。3. 实验过程及结果截图用“Explorer”打开刚才得到的“bank-data.arff”,并切换到“Cluster”。点“Choose”按钮选择“SimpleKMeans”,这是WEKA中实现K均值的算法。点击旁边的文本框,修改“numClusters”为6,说明我们希望把这600条实例聚成6类,即K=6。下面的“seed”参数是要设置一个随机种子,依此产生一个随机数,用来得到K均值算法中第一次给出的K个簇中心的位置。我们不妨暂时让它就为10。选中“Cluster Mode”的“Use training set”,点击“Start”按钮,观察右边“Clusterer output”给出的聚类结果如下:图2 实验结果也可以在左下角“Result list”中这次产生的结果上点右键,“View in separate window”在新窗口中浏览结果。4. 实验结果分析4.1 实验结果下面对实验结果进行解释。观察图1,首先我们注意到结果中有这么一行:Within cluster sum of squared errors: 1604.7416693522332这是评价聚类好坏的标准,数值越小说明同一簇实例之间的距离越小。也许你得到的数值会不一样;实际上如果把“seed”参数改一下,得到的这个数值就可能会不一样。我们应该多尝试几个“seed”,并采纳这个数值最小的那个结果。例如我让“seed”取100,就得到:Within cluster sum of squared errors: 1555.6241507629218我们该取后面这个。当然再尝试几个“seed”,这个数值可能会更小。接下来“Cluster centroids:”之后列出了各个簇中心的位置。对于数值型的属性,簇中心就是它的均值(Mean),如cluster0的数值型变量age的均值37.1299;分类型的就是它的众数(Mode),如cluster0的分类型变量children的众数为3,也就是说这个属性上取值为众数值3(有3个孩子)的实例最多。对于数值型的属性,还给出了它在各个簇里的标准差(Std Devs)。 最后的“Clustered Instances”是各个簇中实例的数目及百分比。为了观察可视化的聚类结果,我们在左下方“Result list”列出的结果上右击,点“Visualize cluster assignments”。弹出的窗口给出了各实例的散点图。最上方的两个框是选择横坐标和纵坐标,第二行的”color”是散点图着色的依据,默认是根据不同的簇“Cluster”给实例标上不同的颜色。图3 实验结果可视化可以在这里点“Save”把聚类结果保存成ARFF文件。在这个新的ARFF文件中,“instance_number”属性表示某实例的编号,“Cluster”属性表示聚类算法给出的该实例所在的簇,如下图4。图4 结果的arff文件4.2 存在的问题在本次实验中,我用了不同的“seed”值对数据进行了三阶段的实验分析:第一阶段不断增大seed值,直到为实例数目600;通过观察第一阶段的实验结果,找到两个最小值点,在第二阶段和第三阶段中,在最小值点seed附近不断改变seed值,以逼近可能最小的“Within cluster sum of squared errors”值。我把部分实验结果整理如下表:表1 实验结果分析我们知道,“Within cluster sum of squared errors”值越小说明同一簇实例之间的距离越小,聚类的结果也就越好。从表中我们可以看出“Within cluster sum of squared errors”的最小值有两个,即seed去200时的1551.72650865326,和seed取400时的1535.19232923634,这也是本次实验中最好的一个方案结果。我所遇到的问题是,如何迅速的找到是“Within cluster sum of squared errors”值最小的聚类方案?如果数据实例的数目非常的大,通过不但的改变seed值去尝试寻找是很不现实的,而且,还可能出现局部的最小值。如何以最快的速度找出最好的聚类方案,这是值得我们去考虑的一个问题。5. 预置问题的回答在Weka中实现K均值聚类的数据预处理中:(1)为什么要将children属性变成分类型?因为K均值算法只能处理数值型的属性,遇到分类型的属性时要把它变为若干个取值0和1的属性。而Weka能自动实施这个分类型到数值型的变换,而且Weka会自动对数值型的数据作标准化。而且,children属性不能直接处理为数值性属性,因为孩子的数量不能出现有小数的情况。因此,我们为了使Weka能自动地,正确的处理children属性,要将children属性变成分类型。(2)Weka将自动实施这个分类型到数值型的变换是指将这个分类型的属性变为若干个取值0和1的属性,将这个变化结果截图,并进行解释。我们以children属性为例加以说明。之前,我们将children属性变成了分类型,在Weka中我们点击它,便可在右下方看到如下的结果:图5 children属性变为分类型从图中我们可以看出,children属性变成了只有0,1,2,3四种取值的分类型。在Weka自动实施将children分类型到数值型的变换后,便将children分类型的属性变为四个取值0和1的属性,我们不妨设为children0,children1,children2,children3。于是,原来实例中孩子为0,1,2或3的实例,转变后其取值方法如下表:表2 变换为数值型后的children属性取值方法Children0Children1Children2Children31000010000100001其中,children0取值1,说明这个实例原children属性的值为0,而且,每个实例在children*(*为0,1,2或3)四个属性上只能有唯一的一个属性取值为1,其余三个为0。这只是我自己的分析,由于在Weka还是保持的arff文件中没有找到相关的分类型变换为数值型后的结果,因此没有相关的截图。6. 实验总结本次实验进行比较顺利,使我对如何在Weka中进行聚类分析有了更深刻的了解,对Weka中进行聚类分析的simpleKmeans算法也有了进一步的理解,但是实验中所遇到的,如何以最快的速度找出最好的聚类方案的问题,还没有得到更好的解决。我将继续阅读相关的文献,希望可以找到这个问题的解决方案。已有实践证明

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论