当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


Python cugraph.dask.community.louvain.louvain用法及代码示例


用法:

cugraph.dask.community.louvain.louvain(input_graph, max_iter=100, resolution=1.0)

在多个 GPU 上使用 Louvain 方法计算输入图的模块化优化分区

它使用如下所述的 Louvain 方法:

VD Blondel,J-L Guillaume、R Lambiotte 和 E Lefebvre:在大型网络中快速展开社区层次结构,J Stat Mech P10008 (2008),http://arxiv.org/abs/0803.0476

参数

input_graphcugraph.Graph 或 NetworkX Graph

图说明符应包含连接信息和权重。如果不存在邻接列表,则将计算该邻接列表。

max_iter整数,可选(默认=100)

这控制了 Louvain 算法的最大级别/迭代次数。当指定时,算法将在不超过指定的迭代次数后终止。当算法以这种方式提前终止时,不会发生错误。

resolution: float/double, optional (default=1.0)

在模块化公式中称为 gamma,这会改变社区的规模。更高的分辨率会导致更多的小型社区,更低的分辨率会导致更少的大型社区。默认为 1。

返回

partscudf.DataFrame

大小为 V 的 GPU 数据帧包含两列,即顶点 id 和分配给它的分区 id。

df[‘vertex’]cudf.Series

包含顶点标识符

df[‘partition’]cudf.Series

包含分配给顶点的分区

modularity_score浮点数

一个浮点数,包含分区的全局模块化分数。

例子

>>> # import cugraph.dask as dcg
>>> # ... Init a DASK Cluster
>>> #    see https://docs.rapids.ai/api/cugraph/stable/dask-cugraph.html
>>> # Download dataset from https://github.com/rapidsai/cugraph/datasets/..
>>> # chunksize = dcg.get_chunksize(datasets_path / "karate.csv")
>>> # ddf = dask_cudf.read_csv(input_data_path, chunksize=chunksize)
>>> # dg = cugraph.Graph(directed=True)
>>> # dg.from_dask_cudf_edgelist(ddf, source='src', destination='dst',
>>> #                            edge_attr='value')
>>> # parts, modularity_score = dcg.louvain(dg)

相关用法


注:本文由纯净天空筛选整理自rapids.ai大神的英文原创作品 cugraph.dask.community.louvain.louvain。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。