我对同一事件有两个观察结果。让我们说X和Y。我想有nc集群。我正在使用sklearn来进行聚类。
X
Y
nc
sklearn
x = KMeans(n_clusters=nc).fit_predict(X) y = KMeans(n_clusters=nc).fit_predict(Y)
是否有一个措施,让我可以比较x和y:即如果集群1和x是相同的,这个措施将是y。
x
y
1
只需提取kmeans对象的聚类中心(参见docs):
x_centers = x.cluster_centers_ y_centers = y.cluster_centers_
您必须决定使用哪个指标来比较这些指标。请记住,中心是浮点数,聚类过程是启发式算法,聚类过程是随机算法。这意味着,即使对于在相同数据上训练的集群对象,您也会得到一些高概率解释不完全相同的东西。
这个link讨论了一些方法和问题。
兰德指数及其调整后的版本完全如此。两个匹配的聚类分配(即使标签本身被视为任意的,不同),得分为1.值为0表示它们完全不同意。调整后的兰德指数使用其基线作为对集群的点的随机分配。