當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


Python cugraph.centrality.betweenness_centrality.betweenness_centrality用法及代碼示例


用法:

cugraph.centrality.betweenness_centrality.betweenness_centrality(G, k=None, normalized=True, weight=None, endpoints=False, seed=None, result_dtype=<class 'numpy.float64'>)

計算圖 G 的所有頂點的介數中心性。介數中心性是對通過頂點的最短路徑數量的度量。具有高中介中心性分數的頂點有更多的路徑通過它,因此被認為更重要。

為了提高性能。可以使用 k 個起始頂點的樣本,而不是執行 all-pair 最短路徑。

CuGraph 目前不支持 ‘endpoints’ and ‘weight’ 參數,如相應的 networkX 調用中所示。

參數

GcuGraph.Graph 或 networkx.Graph

該圖可以是有向的 (Graph(directed=True)) 或無向的。圖中的權重被忽略,當前實現使用 BFS 遍曆。如果需要考慮權重,則使用權重參數(目前不支持)

kint or list or None, optional (default=None)

如果 k 不是 None,則使用 k 個節點樣本來估計介數。較高的值給出更好的近似值。如果 k 是一個列表,則使用列表的內容進行估計:列表應該包含頂點標識符。如果 k 為 None(默認值),則所有頂點都用於估計介數。通過采樣獲得的頂點或定義為列表的頂點將作為算法內部遍曆的源。

normalized布爾型,可選

默認為真。如果為真,則對於無向圖,介數值通過 __2 /((n - 1) * (n - 2))__ 標準化,對於有向圖,通過 __1 /((n - 1) * (n - 2))__ 標準化,其中n 是 G 中的節點數。歸一化將確保值在 [0, 1] 中,這種歸一化針對每個最短路徑穿過一個節點的最高可能值進行縮放。

weightcudf.DataFrame,可選(默認=無)

指定要用於每條邊的權重。應該包含邊和權重之間的映射。 (不支持)

endpoints布爾,可選(默認=假)

如果為真,則將端點包括在最短路徑計數中。 (不支持)

seed可選的

如果指定了 k 並且 k 是整數,則使用種子來初始化隨機數生成器。使用無作為種子依賴於隨機。seed() 行為:使用當前係統時間如果 k 為無或列表:種子參數被忽略

result_dtypenp.float32 或 np.float64,可選,默認=np.float64

表示介數中心性分數的數據類型

返回

dfcudf.DataFrame 或 Dictionary 如果使用 NetworkX

GPU 數據幀包含兩個大小為 V 的 cudf.Series:頂點標識符和相應的中介中心性值。請注意,生成的‘vertex’ 列可能不是按升序排列的。字典包含相同的兩列

df[‘vertex’]cudf.Series

包含頂點標識符

df[‘betweenness_centrality’]cudf.Series

包含頂點的中介中心性

例子

>>> 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')
>>> bc = cugraph.betweenness_centrality(G)

相關用法


注:本文由純淨天空篩選整理自rapids.ai大神的英文原創作品 cugraph.centrality.betweenness_centrality.betweenness_centrality。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。