将集合聚类(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第三方库


热门话题
具有泛型的对象的oop Java数组   爪哇丑陋的数字找到第1500名UVA在线评委   SpringJava。lang.IllegalStateException:自动连线批注至少需要一个参数   java为什么我的系统找不到我的属性文件?   java有没有办法让Maven同时构建1.5和1.6字节码JAR?   java通过Sailfin中的header进行操作   使用向量、距离和图形   如果提供的登录信息是错误的,为什么java控件不进入else部分和Toast?   java如何为电子商务安卓应用程序存储产品列表   java保存声音首选项Libgdx Android   java无法在测试单元中调用JpaRepository   java使用批处理更新Cassandra表中的选定列,而不将其他列值设为null   java如何在log4j2中的手动代码配置中向appender添加级别?   从ImageIO返回的java Null。读取(新的ByteArrayInputStream(bs));   java不确定如何防止此Arraylist处于可编辑状态   netbeans中的java更改清单(TrustedLibrary=true属性)   java无法使用RestTemplate和Spring数据REST发布具有关系的新实体