首页 > 解决方案 > 在 Python 中聚类集群或合并集群以减少组数(Python)

问题描述

我正在处理一组标记为 160 个组的 173k 点。我想通过合并最近的(到 9 个或 10 个组)来减少这个组/集群的数量。我搜索了 sklearn 或类似的库,但没有成功。

我想这只是通过 knn 聚类而不是点,而是相同标记点的组。

由于图形在大多数情况下是更好的解释,这里是我想要的简化版本: 合并集群 0 和集群 1,因为它们距离很近

谢谢您的帮助

标签: pythonscikit-learncluster-computing

解决方案


你有:

  • X - 数据
  • 标签 - 当前集群标签列表

要集群集群,只需将标签添加为新列:

from sklearn.preprocess import scale
X = pd.DateFarme(X)
weight = 1
X['current_labels'] = scale(labels) * weight
# cluster again:

要将集群 3 合并到 2:

X['current_labels'] = labels
X[X['current_labels'] == 3] = 2

推荐阅读