graph - 图上的 sklearn 谱聚类生成具有未连接节点的子图
问题描述
我有一个需要聚类的 networkx 图。目前,我正在使用 sklearn 和光谱聚类。但是,下面的代码会生成未连接的子图(集群),即一个集群可以包含未连接到同一集群中的节点的节点。代码如下。
import networkx as nx
from sklearn.cluster import SpectralClustering
G=nx.Graph()
G=nx.read_edgelist("edges.txt") # graph.txt contains the nodeedge list of your graph
adj_matrix = nx.to_numpy_matrix(G)
clusters = SpectralClustering(affinity = 'precomputed',
assign_labels="kmeans",
random_state= 0,
n_clusters= 4,
n_init=100).fit_predict(adj_matrix)
有什么办法可以解决这个问题吗?如果这用另一种聚类方法做得更好,我很想知道。
解决方案
推荐阅读
- android - 迁移到 Androidx 后 xml 文件中的未知属性
- c# - 无法从 Docker 中的 ASP.NET Core 3.1 连接到本地 SQL Server
- r - 我在下面向您展示的代码有什么问题?
- python - 如果我不知道错误在哪里,如何将 Python 错误打印到 txt 文件
- javascript - 如何使 document.querySelector 接受 div id 作为参数?
- python - 如何使用 python 从位于同一目录中的多个 zip 文件夹中读取 csv 文件?
- java - Jemalloc 输出给出的是内存地址而不是实际名称
- python - 在python中将字符串列表拆分为字典键
- javascript - 辅助系列上的 Highmaps get() 函数
- python - 在另一个循环内调用时的 Python 循环行为