用法:
cugraph.centrality.betweenness_centrality.edge_betweenness_centrality(G, k=None, normalized=True, weight=None, seed=None, result_dtype=<class 'numpy.float64'>)
计算图 G 的所有边的边中介中心性。中介中心性是对通过边的最短路径数量的度量。具有高中介中心性分数的边有更多的路径经过它,因此被认为更重要。
为了提高性能,可以使用 k 个起始顶点的样本,而不是执行 all-pair 最短路径。
CuGraph 目前不支持 ‘weight’ 参数,如相应的 networkX 调用中所示。
- G:cuGraph.Graph 或 networkx.Graph
该图可以是有向的 (Graph(directed=True)) 或无向的。图中的权重被忽略,当前实现使用 BFS 遍历。如果需要考虑权重,则使用权重参数(目前不支持)
- k:int or list or None, optional (default=None)
如果 k 不是 None,则使用 k 个节点样本来估计介数。较高的值给出更好的近似值。如果 k 是一个列表,则使用列表的内容进行估计:列表应该包含顶点标识符。通过采样获得或定义为列表的顶点将用作算法内部遍历的源。
- normalized:布尔,可选(默认=真)
默认为真。如果为真,则对于无向图,介数值通过 2 /(n * (n - 1)) 进行归一化,对于有向图,将通过 1 /(n * (n - 1)) 进行归一化,其中 n 是 G 中的节点数。归一化将确保值在 [0, 1] 中,这种归一化会针对每条最短路径穿过一条边的最高可能值进行缩放。
- weight:cudf.DataFrame,可选(默认=无)
指定要用于每条边的权重。应该包含边和权重之间的映射。 (不支持)
- seed:可选(默认=无)
如果指定了 k 并且 k 是整数,则使用种子来初始化随机数生成器。使用无作为种子依赖于随机。seed() 行为:使用当前系统时间如果 k 为无或列表:种子参数被忽略
- result_dtype:np.float32 或 np.float64,可选(默认=np.float64)
表示介数中心性分数的数据类型使用双自动切换实现“default”
- df:cudf.DataFrame 或 Dictionary 如果使用 NetworkX
GPU 数据帧包含三个大小为 E 的 cudf.Series:源的顶点标识符、目的地的顶点标识符以及相应的中介中心性值。请注意,生成的‘src’, ‘dst’ 列可能不是按升序排列的。
- df[‘src’]:cudf.Series
包含每条边源的顶点标识符
- df[‘dst’]:cudf.Series
包含每条边的目的地的顶点标识符
- df[‘edge_betweenness_centrality’]:cudf.Series
包含边的中介中心性
使用无向图时,‘src’ and ‘dst’ 仅包含 ‘src’ < ‘dst’ 的元素,这可能与 networkx 和用户的输入不同。即边 (1 -> 0) 被转换为 (0 -> 1) 但包含边 (1 -> 0) 的中介中心性。
参数:
返回:
例子:
>>> gdf = cudf.read_csv(datasets_path / 'karate.csv', delimiter=' ', ... dtype=['int32', 'int32', 'float32'], header=None) >>> G = cugraph.Graph() >>> G.from_cudf_edgelist(gdf, source='0', destination='1') >>> ebc = cugraph.edge_betweenness_centrality(G)
相关用法
- Python cugraph.centrality.betweenness_centrality.betweenness_centrality用法及代码示例
- Python cugraph.centrality.katz_centrality.katz_centrality用法及代码示例
- Python cugraph.community.spectral_clustering.spectralBalancedCutClustering用法及代码示例
- Python cugraph.community.ecg.ecg用法及代码示例
- Python cugraph.community.louvain.louvain用法及代码示例
- Python cugraph.community.egonet.batched_ego_graphs用法及代码示例
- Python cugraph.components.connectivity.strongly_connected_components用法及代码示例
- Python cugraph.community.spectral_clustering.analyzeClustering_modularity用法及代码示例
- Python cugraph.community.spectral_clustering.spectralModularityMaximizationClustering用法及代码示例
- Python cugraph.components.connectivity.connected_components用法及代码示例
- Python cugraph.community.triangle_count.triangles用法及代码示例
- Python cugraph.community.spectral_clustering.analyzeClustering_edge_cut用法及代码示例
- Python cugraph.community.ktruss_subgraph.ktruss_subgraph用法及代码示例
- Python cugraph.community.subgraph_extraction.subgraph用法及代码示例
- Python cugraph.cores.k_core.k_core用法及代码示例
- Python cugraph.cores.core_number.core_number用法及代码示例
- Python cugraph.community.egonet.ego_graph用法及代码示例
- Python cugraph.components.connectivity.weakly_connected_components用法及代码示例
- Python cugraph.community.spectral_clustering.analyzeClustering_ratio_cut用法及代码示例
- Python cugraph.community.leiden.leiden用法及代码示例
注:本文由纯净天空筛选整理自rapids.ai大神的英文原创作品 cugraph.centrality.betweenness_centrality.edge_betweenness_centrality。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。