用法:
cugraph.centrality.katz_centrality.katz_centrality(G, alpha=None, beta=None, max_iter=100, tol=1e-06, nstart=None, normalized=True)
计算图 G 的节点的 Katz 中心性。cuGraph 目前不支持 ‘beta’ and ‘weight’ 参数,如相应的 networkX 调用中所示。该实现基于 Foster 定义的 Katz 的宽松版本,计算复杂度为 O(n+m)
在有向图上,cuGraph 计算 out-edge Katz 中心度得分。这与默认情况下计算 in-edge Katz 中心性分数的 NetworkX 相反。您可以使用 G.reverse 翻转 NetworkX 边,以便结果与 cuGraph 匹配。
- G:cuGraph.Graph 或 networkx.Graph
带有连接信息的 cuGraph 图说明符。该图可以包含有向边 (DiGraph) 或无向边 (Graph)。
- alpha:浮点数,可选(默认=无)
衰减因子默认为无。如果未指定 alpha,则它在内部计算为 1/(degree_max),其中 degree_max 是最大出度。
- 注意
收敛的最大可接受值 alpha_max = 1/(lambda_max) 其中 lambda_max 是图的最大特征值。由于图表的lambda_max 始终小于或等于degree_max,因此alpha_max 将始终大于或等于 (1/degree_max)。因此,将 alpha 设置为 (1/degree_max) 将保证它永远不会超过 alpha_max,从而满足收敛的要求。
- beta:浮点数,可选(默认=无)
权重标量 - 目前不支持
- max_iter:int,可选(默认=100)
返回答案之前的最大迭代次数。这可用于限制执行时间并在求解器达到收敛容差之前提前退出。如果此值小于或等于 0,cuGraph 将使用默认值,即 100。
- tol:浮点数,可选(默认=1.0e-6)
设置容差的近似值,这个参数应该是一个小的幅度值。容差越低,近似值越好。如果该值为 0.0f,cuGraph 将使用默认值 1.0e-6。由于数值舍入,容差设置太小会导致不收敛。通常 1e-2 和 1e-6 之间的值是可以接受的。
- nstart:cudf.Dataframe,可选(默认=无)
包含 katz 中心性的初始猜测的 GPU 数据帧。
- nstart[‘vertex’]:cudf.Series
包含顶点标识符
- nstart[‘values’]:cudf.Series
包含顶点的 katz 中心值
- normalized:布尔,可选,默认=真
如果 True 归一化生成的 katz 中心性值
- df:cudf.DataFrame 或 Dictionary 如果使用 NetworkX
GPU 数据帧包含两个大小为 V 的 cudf.Series:顶点标识符和相应的 katz 中心值。
- df[‘vertex’]:cudf.Series
包含顶点标识符
- df[‘katz_centrality’]:cudf.Series
包含顶点的 katz 中心性
参数:
返回:
参考:
Foster, K.C., Muth, S.Q., Potterat, J.J.等。计算与数学组织理论 (2001) 7: 275. https://doi.org/10.1023/A:1013470632383
卡茨,L.(1953 年)。一种源自社会计量分析的新地位 index 。心理测量学,18(1),39-43。
例子:
>>> 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') >>> kc = cugraph.katz_centrality(G)
相关用法
- Python cugraph.centrality.betweenness_centrality.betweenness_centrality用法及代码示例
- Python cugraph.centrality.betweenness_centrality.edge_betweenness_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.katz_centrality.katz_centrality。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。