用Python实现的SClump。
pysclump的Python项目详细描述
Pyscump
“异构信息网络中的谱聚类”的Python实现,来自AAAI,2019。
这很大程度上受到了MATLAB中原始的implementation的启发。在
在
Figure:表示为图的相似矩阵。节点根据其分配的簇进行着色。
参考文献
李,项,高,本,仁,赵春,尹大伟异构信息网络中的谱聚类。AAAI人工智能会议论文集:4221-4228。在
安装
PyPI上有PySClump!安装方式:
pip install pysclump
帕特西姆
我们提供PathSim作为节点对之间的相似性度量。但是,PySClump可以使用任何相似性度量!请参阅下面的SClump部分。在
^{pr2}$巩膜
一旦我们有了相似性矩阵(这里显示的是PathSim),运行SClump就非常简单了。在
from pysclump import SClump
# Construct similarity matrices.
similarity_matrices = {
'ACA': pathsim.compute_similarity_matrix(metapath='ACA'),
'ACVCA': pathsim.compute_similarity_matrix(metapath='ACVCA'),
}
# Create SClump instance.
sclump = SClump(similarity_matrices, num_clusters=2)
# Run the algorithm!
labels, learned_similarity_matrix, metapath_weights = sclump.run()
如果我们有n个节点被集群成k个集群,labels是一个n乘1的向量,其中的条目从0到(k-1)表示分配的集群索引。learned_similarity_matrix是本文引用的n×n矩阵,表示节点间的相似性。在
聚类本身是通过k++means聚类来分配的,或者直接在相似矩阵上,或者在学习的相似矩阵的Laplacian上进行聚类。在
致谢
如果没有我在IIT Guwahati的CS529队友的帮助,这是不可能的:
- 八卦山(yagyanshbhatia)
- 达纳杰·舒克拉(dshukla1997)
可视化的功劳完全归功于ramyanighosh(ramyani-ghosh)。在
- 项目
标签: