python - 在 Python 中聚类集群或合并集群以减少组数(Python)
问题描述
我正在处理一组标记为 160 个组的 173k 点。我想通过合并最近的(到 9 个或 10 个组)来减少这个组/集群的数量。我搜索了 sklearn 或类似的库,但没有成功。
我想这只是通过 knn 聚类而不是点,而是相同标记点的组。
由于图形在大多数情况下是更好的解释,这里是我想要的简化版本:
谢谢您的帮助
解决方案
你有:
- 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
推荐阅读
- r - 如何将变量名放在for循环中
- android - Android Gradle 插件从 3.1.4 更新到 3.2.0 导致 TaskExecutionException
- actions-on-google - 如何使用 Google Assistant 用参数语音启动应用程序?
- mysql - 在大型数据集上使子查询更快
- ffmpeg - MXF 容器当前不支持 AAC 编解码器
- apache - Nginx https 的连接时间非常长,比 Nginx http 慢得多(32 倍),比 Apache https 慢 12 倍
- c++ - C++ 内存模型中的哪些确切规则可以防止在获取操作之前重新排序?
- python - 如何将 csv 文件中的字符串与日志文件中的字符串匹配?可能吗?
- javascript - 调整 javascript 滑块,使第一张幻灯片的超时时间与其余幻灯片不同
- netsuite - 如何在使用 SuiteTalk Webservice 在 Netsuite 中创建发票或销售订单时绕过信用额度?