三种非监督算法实现鸢尾花聚类分析
32109133-刘天奇
摘要
使用三种具有代表性的聚类分析算法对鸢尾花数据集进行聚类分析,接着使用三个评价
指标对聚类的结果进行评价,能够帮助我们更好的理解课程所学的内容。本文选取了三种具
有代表性的聚类算法:基于层次的聚类算法、基于划分的聚类方法以及基于密度的聚类方法。
对于聚类的结果,使用准确度、训练时间以及轮廓系数作为评价的标准。
通过实验我们发现:层次方法在此数据集上准确度最佳,DBSCAN 方法运行时间最短,
层次与 K-means 方法都取得了较高的轮廓系数值。
一、引言
由聚类所生成的簇是一组数据对象的集合,同一个簇中的对象彼此相似,不同簇中的
对象相异。聚类分析就是要最大程度地实现相同中的对象相似度最大、不同簇之间对象相
似度最小。
将我们学习过的聚类方法进行分类,主要分为 5 大类:(1)基于层次的聚类方法
(2)基于划分的聚类方法 (3)基于密度的聚类方法 (4)基于网格的聚类方法 (5)
基于模型的聚类方法。
直接导致数据集聚类结果好坏的因素有3个:类数目的正确获得、决定数据点之间亲
密度的距离函数和高效 优良的聚类算法。因此评价聚类算法的优劣也成为目前聚类 研究
的热点之一。关于聚类方面的研究主要集中在类数目的确定、数据点间亲密度的定义、开
发更为优良的聚类算法,以及如何评估聚类方法的好坏这 4 点上。
二、概述
2.1 聚类算法
2.1.1 基于层次的方法
基于层次的聚类方法中,比较有代表性的有 CURE、ROCK 和 BIRCH。例如,其中的
CURE 算法的主要思想是在层次聚类的两个类合并的过程中,在合并的簇里选取分布较
散的一些样本点,然后样本点按照设定的收缩率向簇中心收缩后获得该簇的代表点集,
在下一次的两簇合并时,就可以考虑两者的代表点集是否最近作为依据。该算法能够很
好的处理孤立点的问题,并且能够处理各种形状的簇,克服了某些聚类算法只能处理圆
形簇和球形簇的问题。
而层次法的基本思想一般都是:先计算样本之间的距离。每次将样本距离最近的点
合并到一个类。然后,再计算类与类之间的距离,将距离最近的类合并为一个大类。不
停的合并,直到合并成一个类。这种方法的一个显著优点就是不需要预先知道聚类的数
目,可以发现类的层次关系,这一方面减少了聚类算法的限制,另一方面也可以指导其
他的聚类算法选择合适的聚类数目。
2.2.2 基于划分的方法
在基于划分的方法中,我们着重学习了 K-means 算法,这是一种十分优秀的聚类算
法,至今仍在沿用。K-means 算法以 k 为参数,将 n 个对象分成 k 个簇,使簇内具有较
高的相似度,簇间具有较低的相似度。首先,随机的选择 k 个对象,每个对象初始的代
表一个簇的中心或者平均值;对于剩余的对象,根据其与各簇中心的距离,将他们赋值
给最近的簇,然后重新计算每个簇的平均值。这个过程不断重复,直到准则函数收敛,
- 1
- 2
前往页