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


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


用法:

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 調用中所示。

參數

GcuGraph.Graph 或 networkx.Graph

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

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

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

normalized布爾,可選(默認=真)

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

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

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

seed可選(默認=無)

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

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

表示介數中心性分數的數據類型使用雙自動切換實現“default”

返回

dfcudf.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)

相關用法


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