用Python实现的SClump。

pysclump的Python项目详细描述


PyscumpBuild Status

“异构信息网络中的谱聚类”的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队友的帮助,这是不可能的:

可视化的功劳完全归功于ramyanighosh(ramyani-ghosh)。在

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java如何通过标记名检索多个标记中的元素以进行selenium自动化测试   java iText如何查找最后一行被拆分到下一页   java如何在hudson中的特定jdk上运行Findbugs和PMD?   如何确保java程序与java Environment 6兼容?   对形状进行分组,这样我就可以通过鼠标点击和java处理循环浏览它们   使用生成器映射对象时,java定义无效   maven Java:Struts2和IntelliJ供初学者使用   java子类不继承父类字段   java Android Grid View在Android版本kitkat上崩溃   java Hibernate从缓存返回错误的列表,即使预期的列表与缓存的列表不同   java SendGrid:模板和替换标记   用于普通生产者| Kafka流的java自定义分区器   安卓理解Java内部类中的作用域   无法从Android Studio中的非静态方法调用java非静态方法   比较两个XML响应的JavaXMLUnit   java使用keytool列出密钥   不使用Java客户端库将视频上传到YouTube数据API v3   java My While循环即使在满足条件时也不会结束   自动在外部存储字符串数据,以便以后在Java中使用