是否有一种有效的方法使用Jaccard相似性对图中的节点进行聚类,使得每个群集至少有K
个节点?
节点i
和j
之间的Jaccard相似性:
让S
成为i
和T
的邻居集合j
的邻居。然后,i
和j
之间的相似性由|(S ⋂ T)| / |(S ⋃ T)|
给出。
答案 0 :(得分:1)
您是否尝试过自己实施某种算法?
计算所有成对的非零相似性(即,当它们至少有一个相邻的邻居时;这使得候选集远小于平方矩阵。)
按相似性对它们进行排序,并以相似性降低的方式处理对。最初,每个对象都是他们自己的集群。
如果A和B尚未在同一个群集中,并且任一群集的成员少于k个,请加入这两个群集。重复,直到处理完所有相似之处。
请注意,您最终可能会拥有少于k个成员的群集。例如,如果您的数据集总数少于k个节点,或者有少量子图未连接等。
你真的应该接受少于k个节点的集群,即非集群节点。为什么一切都会聚集?实际数据中总会存在异常值和噪声。