将集合聚类(ecg)和graphaware度量(gam)添加到igraph。

partition-igraph的Python项目详细描述


图的划分与测度

Python3代码实现了11个图形感知度量(gam),用于比较图划分以及一个稳定的基于集成的图划分算法(ecg)。这个版本与igraph包一起工作。还提供了networkx的一个版本:partition networkx。在

gam感知(图形)

措施分别是:

  • “rand”:rand索引
  • “jaccard”:jaccard索引
  • “mn”:用均值函数规范化的成对相似性
  • gmn:几何平均函数规范化的成对相似性
  • min:用最小函数规范化的成对相似性
  • max:用极大值函数规范化的成对相似性

除“jaccard”外,每个度量值都可以调整(推荐)或不进行调整。 详情请参阅:

Valérie Poulin和François Théberge,“比较图聚类:集划分度量与图形感知度量”,https://arxiv.org/abs/1806.11494。在

图的集成聚类(ecg)

这是一个好的,稳定的图划分算法。有关ecg的详细信息,请参阅:

Valérie Poulin和François Théberge,“图的集成聚类:比较和应用”,Appl Netw Sci 4,51(2019年)。 https://doi.org/10.1007/s41109-019-0162-z

示例

我们需要导入提供的Python文件分区图。在

import numpy as np
import igraph as ig
import partition_igraph

接下来,让我们构建一个社区图。在

^{pr2}$

运行Louvain和ecg:

ml=g.community_multilevel()ec=g.community_ecg(ens_size=32)

最后,我们展示了几个可以用gam计算的度量示例:

## for 'gam' partition are either 'igraph.clustering.VertexClustering' or 'dict'print('Adjusted Graph-Aware Rand Index for Louvain:',g.gam(ml,tc))print('Adjusted Graph-Aware Rand Index for ECG:',g.gam(ec,tc))print('\nJaccard Graph-Aware for Louvain:',g.gam(ml,tc,method="jaccard",adjusted=False))print('Jaccard Graph-Aware for ECG:',g.gam(ec,tc,method="jaccard",adjusted=False))

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

推荐PyPI第三方库


热门话题
运行ClassSpy java时发生反射错误   java Android ContextWrapper fileList()看不到我的文件   java使用JAXWS构建大型MTOM/XOP消息   eclipse如何使用ACM库(控制台程序)编写Java程序?   java m2eclipse插件搜索在配置为Nexus时不会给出结果   java Scanner只识别文本文件中的某些行,而不识别其他行   java如何从smartwatch启动活动或服务   java检查数组是否至少有两个具有特定值的元素   JAVA网URL编码器/解码器替代方案   Java中通过引用传递对象   spring如何在使用JavaJSON修补程序进行修补时禁止更新字段   使用java将海量数据存储到mysql的最佳方法   java字符串作为不可变对象   java我无法访问tomcat服务器(localhost),甚至无法访问mysql   java While循环条件未给出预期结果   java如何启动传递图像uri的新活动   Java中类定义在方法中的使用   Java程序在Ubuntu中运行我的另一个程序