数据挖掘应用示例
两类数据集的聚类结果
大样本数据集的聚类分析
鸢尾花数据集被公认为最著名的用于数据挖掘的数据集,它包含 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) 图 1 KNIME 中 K-means的运算结果(k=3)由于两个工具得到的聚类序号不具有一一对应关系,为了比较两种结果需要对类号进行统一。根据鸢尾花数据集的属性 class 可以完成这项工作,得到统一后的结果如表 2 所示。
表 2 进行统一后的聚类结果通过以上结果可以得出这样的结论:当 K-means 聚类方法用于大样本数据集的时候,无论从聚类的最终中心距离,还是每个聚类内所有样本的数目,SPSS 和 KNIME 产生的聚类几乎是一致的,即排除 K-means 算法本身的一些缺陷以外,不同的分析工具不会对聚类结果产生显著影响。
小样本数据集的聚类分析
实验所采用的小样本数据集如表 3 所示,当 k 分别设置为 2 和 3 时,使用 KNIME 的运算结果如图 2 所示,使用 SPSS 的运算结果 如表 4 和 表 5 所示。
表 3 数据准备 图 2 KNIME 中 K-means 运算的结果(k 分别取2、3) 表 4 SPSS 中 K-means 运算的结果(k=2) 表 5 SPSS 中 K-means 运算的结果(k=3)当 K-means 聚类方法用于大样本数据集的时候,本文只选取了在 k 值分别是 2 和 3 两种情况下的结果,可以看出 k 值从 2 变为 3 时,两种工具得出的最终结果存在较大的差异,这是因为算法开始时随机地选择 k 个对象,两种工具选取的样本将会有所不同,加之样本总数的限制,最终导致了聚类结果的差别。
数据挖掘的工具还有很多,如何进行数据集的选取是目前存在的问题,为了得到更加完善和具有普通意义的结论,需要关注这些问题。