基于划分方法的聚类分析Word文档格式.doc
《基于划分方法的聚类分析Word文档格式.doc》由会员分享,可在线阅读,更多相关《基于划分方法的聚类分析Word文档格式.doc(4页珍藏版)》请在冰豆网上搜索。
(4)学会并应用划分方法中K均值和K中心点算法对数据集进行聚类分析。
二、实验准备:
Bank-data
三、实验要求:
用划分方法中K均值和K中心点算法对数据集进行聚类分析
四、实验内容:
4.1 相关知识
聚类分析中的“类”(cluster)和前面分类的“类”(class)是不同的,对cluster更加准确的翻译应该是“簇”。
聚类的任务是把所有的实例分配到若干的簇,使得同一个簇的实例聚集在一个簇中心的周围,它们之间距离的比较近;
而不同簇实例之间的距离比较远。
对于由数值型属性刻画的实例来说,这个距离通常指欧氏距离。
聚类分析中使用最常见的K均值(K-means)算法。
K均值聚类方法的步骤如下。
(1)K均值算法首先随机的指定K个簇中心。
(2)将每个实例分配到距它最近的簇中心,得到K个簇;
(3)计分别计算各簇中所有实例的均值,把它们作为各簇新的簇中心。
重复
(2)和(3),直到K个簇中心的位置都固定,簇的分配也固定。
上述K均值算法只能处理数值型的属性,遇到分类型的属性时要把它变为若干个取值0和1的属性。
WEKA将自动实施这个分类型到数值型的变换,而且Weka会自动对数值型的数据作标准化。
Weka中列出了很多聚类算法。
对于EM实现,用户可指定需要产生多少聚类,否则所用的算法可通过交叉验证来决定,在这种情况下,折的数量固定为10(除非训练实例小于10个)。
用户可指定循环次数的最大值,并且为正常的密度计算设定可允许的最小标准差。
SimpleKMeans使用k均值来聚类数据;
聚类的数量通过一个参数设定。
Cobweb实现了用于名词属性的Cobweb算法和用于数值性属性的Classit算法。
FarthestFirst实现Hochbaum和Shmoys远端优先遍历算法。
MakeDensityBaseCluster是一个元聚类器,它包装一个聚类算法,使其返回一个概率分布和密度。
它为每个聚类拟合一个离散分布,或一个对称的正态分布。
4.2 实验操作
(1)在开始程序(或者桌面图标)中找到WEKA3.6.2,单击即可启动WEKA,启动WEKA时会发现首先出现的一个命令提示符。
接着将出现如下WekaGUIChooser界面。
(2)选择GUIChooser中的探索者(Explorer)用户界面。
点击预处理(Preprocess)功能按钮的,Openfile,选择其中的“bank-data”数据作关联规则的分析。
打开“bank-data.csv”,可以看到“Currentrelation”、“Attributes”“Selectedattribute”三个区域。
(3)对于原始数据“bank-data.csv”的预处,删去属性“id”,保存为ARFF格式后,修改属性“children”为分类型。
这样得到的数据文件为“bank.arff”,含600条实例。
(4)用“Explorer”打开刚才得到的“bank.arff”,并切换到“Cluster”选项卡。
点击“Choose”在随后打开的层级式菜单中的选择“SimpleKMeans”,这是WEKA中实现K均值的算法。
点击旁边的文本框,修改“numClusters”为6,说明我们希望把这600条实例聚成6类,即K=6。
下面的“seed”参数是要设置一个随机种子,依此产生一个随机数,用来得到K均值算法中第一次给出的K个簇中心的位置,先设定为10。
(7)选中“ClusterMode”的“Usetrainingset”,点击“Start”按钮,观察右边“Clustereroutput”给出的聚类结果。
也可以在左下角“Resultlist”中这次产生的结果上点右键,“Viewinseparatewindow”在新窗口中浏览结果。
(8)实验结果:
结果中有这么一行字样:
Withinclustersumofsquarederrors:
1604.7416683433223
这是评价聚类好坏的标准,数值越小说明同一簇实例之间的距离越小。
“seed”参数的变化,导致得到的这个数值也发生变化。
通过多尝试变化seed值,并取使得数值最小的seed值。
接下来“Clustercentroids:
”之后列出了各个簇中心的位置。
对于数值型的属性,簇中心就是它的均值(Mean);
分类型的就是它的众数(Mode),也就是说这个属性上取值为众数值的实例最多。
对于数值型的属性,还给出了它在各个簇里的标准差(StdDevs)。
最后的“ClusteredInstances”是各个簇中实例的数目及百分比。
为了观察可视化的聚类结果,在左下方“Resultlist”列出的结果上右击,点“Visualizeclusterassignments”。
弹出的窗口给出了各实例的散点图。
最上方的两个框是选择横坐标和纵坐标,第二行的“color”是散点图着色的依据,默认是根据不同的簇“Cluster”给实例标上不同的颜色。
可以在这里点“Save”把聚类结果保存成ARFF文件。
在这个新的ARFF文件中,“instance_number”属性表示某实例的编号,“Cluster”属性表示聚类算法给出的该实例所在的簇。
4.3 扩展学习
(1)选择其他数据集来对其进行k-means聚类分析,并对其聚类结果进行分析研究。
(2)通过对其参数的修正完善加深理解k-means聚类分析算法。
五、实验总结
本次weka的运行实验进行的很顺利,通过它我学习了聚类分析的基本概念、各种数据类型、聚类方法的分类。
掌握了典型划分方法K均值和K中心点算法的基本原理、特点、优缺点。
学会并应用划分方法中K均值和K中心点算法对数据进行聚类分析。