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