Sergey 的回答包含关键点,即轮廓系数量化了所达到的聚类质量——因此您应该选择使轮廓系数最大化的聚类数量。
长答案是,评估集群工作结果的最佳方法是从实际检查——人工检查——形成的集群开始,并根据对数据代表什么、集群代表什么的理解做出决定,以及集群的目的是什么。
有许多评估聚类结果的定量方法应该用作工具,并充分了解其局限性。它们在本质上往往相当直观,因此具有自然的吸引力(就像一般的聚类问题一样)。
示例:集群质量/半径/密度,集群之间的凝聚力或分离度等。这些概念经常结合使用,例如,如果集群成功,分离与凝聚力的比率应该很大。
测量聚类的方式取决于所使用的聚类算法的类型。例如,测量完整聚类算法的质量(其中所有点都被放入聚类)可能与测量基于阈值的模糊聚类算法的质量(其中某些点可能未聚类为“噪声”)非常不同)。
轮廓系数就是这样一种度量。它的工作原理如下:
对于每个点 p,首先求 p 与同一簇中所有其他点之间的平均距离(这是内聚度的度量,称为 A)。然后找到 p 和最近聚类中所有点之间的平均距离(这是与最近的其他聚类分离的度量,称为 B)。p 的轮廓系数定义为 B 和 A 之间的差除以两者中的较大者 (max(A,B))。
我们评估每个点的聚类系数,从中我们可以获得“整体”平均聚类系数。
直观地说,我们正在尝试测量集群之间的空间。如果集群内聚性好(A 小)且集群分离度好(B 大),则分子会很大,以此类推。
我在这里构建了一个示例来以图形方式演示这一点。
在这些图中,相同的数据被绘制了五次;颜色表示由 k-means 聚类创建的聚类,k = 1,2,3,4,5。也就是说,我强制使用聚类算法将数据分成 2 个集群,然后是 3 个,依此类推,并相应地对图表进行着色。
剪影图显示,当 k = 3 时,剪影系数最高,这表明这是最佳聚类数。在这个例子中,我们很幸运能够可视化数据,并且我们可能同意确实,三个集群最好地捕获了这个数据集的分割。
如果我们无法可视化数据,也许是因为更高的维度,剪影图仍然会给我们一个建议。但是,我希望我在这里有些冗长的回答也表明这种“建议”在某些情况下可能非常不充分或完全错误。