常见数据簇的特点:
以中心定义的数据簇:这类数据集合倾向于球形分布,通常中心被定义为质心,即此数据簇中所有点的平均值。集合中的数据到中心的距离相比到其它簇中心的距离更近;
以密度定义的数据簇:这类数据集合呈现和周围数据簇明显不同的密度,或稠密或稀疏。当数据簇不规则或互相盘绕,并且有噪声和离群点时,常常使用基于密度的簇定义;
以连通定义的数据簇:这类数据集合中的数据点和数据点之间有连接关系,整个数据簇表现为图结构,该定义对不规则形状或者缠绕的的数据簇有效;
以概念定义的数据簇:这类数据集合中的所有数据点具有某种共同性质。
常见的聚类算法的特点:
划分聚类:将数据对象划分成互不重叠的数据簇,其中每个数据点恰在一个数据簇中;
层次聚类:数据簇可以具有子簇,具有多个(嵌套)子簇的数据簇可以表示为树状结构;
模糊聚类:每个数据点均以0~1的隶属权值属于某个数据簇;
完全/不完全聚类:是否对所有数据点都指派一个数据簇。
由于数据以及需求的多样性,没有一种算法能够适应所有的数据类型、簇和应用,似乎每种情况都可能需要一种不同的评估度量。例如,K均值聚类通常需要用SSE (Sum of Square Error) 来评估,但是基于密度的数据簇可以不必是球形,SSE则完全失效。在许多情况下,判断聚类算法结果的好坏最终强烈依赖主观解释。尽管如此,聚类算法的评估还是必须的,它是聚类分析中重要部分之一 。
对聚类算法优劣的评估通常可以总结为对以下五个方面的分析:
辨识数据中是否存在非随机簇结构的能力;
辨识数据中正确数据簇的能力;
评估数据被正确聚类的能力;
辨识两个数据簇之间优劣的能力;
评估与客观数据集之间的差异;
聚类评估的任务是估计在数据集上进行聚类的可行性,以及聚类方法产生结果的质量。这一过程又分为三个子任务。
(1)估计聚类趋势
这一步骤是检测数据分布中是否存在非随机的簇结构。如果数据是基本随机的,那么聚类的结果也是毫无意义的。我们可以观察聚类误差是否随聚类类别数量的增加而单调变化,如果数据是基本随机的,即不存在非随机簇结构,那么聚 类误差随聚类类别数量增加而变化的幅度应该较不显著,并且也找不到一个合适的K对应数据的真实簇数。
(2)判定数据簇数
确定聚类趋势之后,我们需要找到与真实数据分布最为吻合的簇数,据此判定聚类结果的质量。数据簇数的判定方法有很多,例如手肘法和Gap Statistic方 法。需要说明的是,用于评估的最佳数据簇数可能与程序输出的簇数是不同的。 例如,有些聚类算法可以自动地确定数据的簇数,但可能与我们通过其他方法确 定的最优数据簇数有所差别。
(3)测定聚类质量
给定预设的簇数,不同的聚类算法将输出不同的结果,如何判定哪个聚类结 果的质量更高呢?在无监督的情况下,我们可以通过考察簇的分离情况和簇的紧 凑情况来评估聚类的效果。定义评估指标可以展现面试者实际解决和分析问题的 能力。事实上测量指标可以有很多种,以下列出了几种常用的度量指标。
轮廓系数
均方根标准偏差(Root-mean-square standard deviation,RMSSTD) 用来衡量聚结果的同质性,即紧凑程度。
R方(R-Square):可以用来衡量聚类的差异度
改进的HubertΓ统计 通过数据对的不一致性来评估聚类的差异。