我正在尝试评估对某些数据进行聚类所需的正确数量的聚类。
我知道使用 Davies–Bouldin Index (DBI) 可以做到这一点。
要使用 DBI,您必须为任意数量的集群计算它,最小化 DBI 的集群对应于所需的正确数量的集群。
问题是:
如何使用 DBI 知道 2 个集群是否优于 1 个集群?那么,当我只有 1 个集群时如何计算 DBI?
我正在尝试评估对某些数据进行聚类所需的正确数量的聚类。
我知道使用 Davies–Bouldin Index (DBI) 可以做到这一点。
要使用 DBI,您必须为任意数量的集群计算它,最小化 DBI 的集群对应于所需的正确数量的集群。
问题是:
如何使用 DBI 知道 2 个集群是否优于 1 个集群?那么,当我只有 1 个集群时如何计算 DBI?
只考虑所有集群的平均值DBI
显然不是一个好主意。
当然,如果每个数据点都被认为是自己的集群(因为每个数据点与其自己的质心重叠),增加集群的数量 - k
,在没有惩罚的情况下,总是会减少生成的集群中的 DBI 数量,达到零的极端情况DBI
.
如何使用 DBI 知道 2 个集群是否优于 1 个集群?那么,当我只有 1 个集群时如何计算 DBI?
DBI
因此,如果仅使用平均值作为性能指标,很难说哪个更好。
一个很好的实用方法是使用肘部方法。
另一种方法将方差百分比解释为集群数量的函数:您应该选择多个集群,以便添加另一个集群不会提供更好的数据建模。更准确地说,如果你绘制集群解释的方差百分比与集群数量的关系图,第一个集群将添加很多信息(解释很多方差),但在某些时候边际增益会下降,给出一个角度图形。此时选择集群的数量,因此是“肘部标准”。
关于选择最佳集群数量的其他一些不错的选择: