weka_ 聚类分析实例演练

weka_ 聚类分析实例演练

1、数据准备: 下载链接  http://download.csdn.net/detail/xuxurui007/6753847

2、聚类原理
     聚类分析中的“类”(cluster)和前面分类的“类”(class)是不同的,对cluster更加准确的翻译应该是“簇”。聚类的任务是把所有的实例分配到若干的簇,使得同一个簇的实例聚集在一个簇中心的周围,它们之间距离的比较近;而不同簇实例之间的距离比较远。对于由数值型属性刻画的实例来说,这个距离通常指欧氏距离。
     现在我们对前面的“bank data”作聚类分析,使用最常见的K均值(K-means)算法。下面我们简单描述一下K均值聚类的步骤:     1)K均值算法首先随机的指定K个簇中心;
          2)将每个实例分配到距它最近的簇中心,得到K个簇;
          3)分别计算各簇中所有实例的均值,把它们作为各簇新的簇中心。
          4)重复1)和2),直到K个簇中心的位置都固定,簇的分配也固定。
     上述K均值算法只能处理数值型的属性,遇到分类型的属性时要把它变为若干个取值0和1的属性。WEKA将自动实施这个分类型到数值型的变换,而且WEKA会自动对数值型的数据作标准化。这样得到的数据文件为“bank.arff”,含600条实例。

3、实现步骤
     (1)用“Explorer”打开刚才得到的“bank.arff”(600条实例数据)。
weka_ 聚类分析实例演练_第1张图片
weka_ 聚类分析实例演练_第2张图片
weka_ 聚类分析实例演练_第3张图片

     (2)切换到“Cluster”,  点击“Choose”按钮选择“SimpleKMeans”,这是WEKA中实现K均值的算法。
weka_ 聚类分析实例演练_第4张图片
    
     (3)点击旁边的文本框, 修改“numClusters”为6,说明我们希望把这600条实例聚成6类,即K=6; 下面的 “seed”参数 是要设置一个 随机种子  ,依此产生一个 随机数  用来得到K均值算法中第一次给出的K个簇中心的位置。 我们不妨暂时让它就为10,点击OK。
weka_ 聚类分析实例演练_第5张图片
     (4)选中“Cluster Mode”的“Use training set”(使用训练集),选择“Store clusters for visualization”(存储聚类可视化),点击“Start”按钮。
weka_ 聚类分析实例演练_第6张图片

     (5)观察右边“Clusterer output”给出的聚类结果。也可以在左下角“Result list”中这次产生的结果上点右键,“View in separate window”在新窗口中浏览结果。
 weka_ 聚类分析实例演练_第7张图片
weka_ 聚类分析实例演练_第8张图片


3、结果分析
(1)首先我们注意到结果中有这么一行(误差平方和):  Within cluster sum of squared errors: 1604.7416693522332
这是评价聚类好坏的标准,数值越小说明 同一簇 实例之间的距离越小。
weka_ 聚类分析实例演练_第9张图片

     实际上如果把“seed”参数改一下,得到的这个数值就可能会不一样, 例如 将“seed”取200,就得到  :
 Within cluster sum of squared errors: 1555.6241507629218  
weka_ 聚类分析实例演练_第10张图片

(也许实际得到的值不一样)应该取后面这个,当然再尝试几个seed,这个数值可能会更小 (该数值越小,说明同一簇实例直接的距离越小,聚类的结果也就越好。多次试验,找到该值趋于最小的值(实例容量越大,越难找),即得到了本次实验最好的方案结果) 

     (2) 接下来“Cluster centroids:”之后列出了各个簇中心的位置。对于数值型的属性,簇中心就是它的均值(Mean);分类型的就是它的众数(Mode), 也就是说这个属性上取值为众数值的实例最多。对于数值型的属性,还给出了它在各个簇里的标准差(Std Devs)。
weka_ 聚类分析实例演练_第11张图片
     (3) 最后的“  Clustered Instances ”是 各个簇中实例的数目及百分比。
weka_ 聚类分析实例演练_第12张图片
     (4)为了观察可视化的聚类结果,我们在左下方“Result list”列出的结果上右击,点“  Visualize cluster assignments ”。
 weka_ 聚类分析实例演练_第13张图片

     弹出的窗口给出了  各实例的散点图 。最上方的两个框是选择横坐标和纵坐标,第二行的“color”是散点图着色的依据,默认是根据不同的簇“Cluster”给实例标上不同的颜色。 可以在这里点“Save”把聚类结果保存成ARFF文件。
weka_ 聚类分析实例演练_第14张图片  weka_ 聚类分析实例演练_第15张图片
  

     在这个新的ARFF文件中,“instance_number”属性表示某实例的编号,“Cluster”属性表示聚类算法给出的该实例所在的簇。

weka_ 聚类分析实例演练_第16张图片




你可能感兴趣的:(weka_ 聚类分析实例演练)