NetworkX 是一個 Python 編程語言軟件包,可用于創建、操作和學習復雜圖形網絡的結構、動態和功能。
什么是 NETWORKX ?
NetworkX 是一個進行復雜圖形網絡分析的 Python 軟件包。要了解 NetworkX 功能,首先需要了解圖形。圖形是一種數學結構,用于對物理、生物、社會和信息系統中多種類型的關系和過程進行建模。圖形由通過邊緣連接(表示這些實體之間的關系)的節點或頂點(表示系統實體)構成。圖形處理是一種能夠穿梭各邊緣和節點的功能,用于發現和理解網絡中關聯數據之間的復雜關系和/或優化路徑。
圖形網絡分析有許多用途,例如分析社交網絡中的關系、網絡威脅檢測,以及根據共同偏好識別潛在買家。
在現實世界中,節點可以是人員、群組、地點或事物,例如客戶、產品、成員、城市、商店、機場、端口、銀行帳戶、設備、手機、分子或網頁。
節點之間的邊緣或關系示例包括友誼、網絡連接、超鏈接、道路、路線、電線、電話、電子郵件、“點贊”、支付、交易、電話呼叫和社交網絡消息。邊緣可以用一個單向箭頭來表示從一個節點到另一個節點的關系,比如,如果 Janet “點贊了” Jeanette 的一篇社交媒體文章。不過,它們也可以是無向的,比如,如果 Bob 是 Alice 的 Facebook 好友,那么 Alice 也是 Bob 的好友。
NetworkX 節點可以是任何可哈希的對象,它的值保持永久改變。這些值可以是文本字符串、圖像、XML 對象、整個圖形,也可以是自定義節點?;拒浖鼉忍峁┝硕鄠€函數,可以借助這些函數以多種格式生成、讀取和編寫圖形。
NetworkX 能夠處理具有 1000 多萬個節點和 1 億多個邊緣的巨大圖形。核心軟件包是符合 BSD 許可的免費軟件,其中包括表示簡單圖形、有向圖形以及采用并行邊緣和自循環的圖形等的數據結構。NetworkX 還具有一個龐大的開發者社區。開發者會維護核心軟件包,并為第三方生態系統貢獻力量。
NetworkX 具有以下主要用途:
研究社會、生物和基礎設施網絡結構和動態
標準化圖形的編程環境
快速開發協同跨學科項目
與使用 C、C++ 和 FORTRAN 編寫的算法和代碼集成
處理大型非標準數據集
NetworkX 易于安裝和使用,尤其是對于 Python 開發者而言。
為何選擇圖形分析?
圖形分析可用于確定圖形中對象之間的關系強度和方向。鑒于網絡在我們的信息生態系統中發揮著日益重要的作用,因此,對關系分析工具的需求有著近乎無限的潛能。從購買決策到舉國選舉,社交網絡對一切事物都有著重要影響,這一影響加速了對圖形分析的使用。在發現由于網絡復雜性或節點間路徑的數量而導致的不明顯關系時,它發揮的作用尤為明顯。
圖形分析對于實現以下目標作用明顯:
檢測洗錢等金融犯罪
識別欺詐交易及活動
在社交網絡社區執行網紅分析
根據客戶評級或購買物來進行推薦分析。
發現電網、水網和運輸網絡的缺點
優化航空公司、零售和制造業的路線
了解影響力如何發揮作用,以便營銷人員能夠鎖定最有可能為其產品樹立口碑的人
根據用戶之間的關系(即使用戶彼此不了解),通過映射相似興趣和共享連接,提供社交營銷內容
幫助政治運動和政治科學家更好地了解導致信息病毒式傳播和傳播虛假新聞的因素
使得搜索引擎根據信息需求相似的人的行為偏好提供結果
為何選擇 NETWORKX?
NetworkX 為數據科學家和圖形數學的其他用戶提供了一種標準化的方式,供其協作、構建、設計、分析和共享圖形網絡模型。作為以可擴展性和可移植性而聞名的免費軟件,NetworkX 深受 Python 愛好者喜愛。它也是廣為數據科學家喜愛的熱門圖形框架。數據科學家致力于構建一個充滿活力的 Python 軟件包生態系統,利用數值線性代數和繪圖等功能擴展 NetworkX。
NETWORKX 對數據科學家的重要意義
|數據科學團隊
機器學習和深度學習等大數據科學項目通常需要許多團隊成員共同協作。標準化工具和格式的使用大大簡化了信息共享。NetworkX 根植于 Python(一種熱門的數據科學語言),為 Python 庫提供圖形分析擴展,它只需為 Python 用戶提供極少量培訓,且可在多家公司及多個大洲的團隊間部署。
借助 GPU 加速圖形分析
GPU 具有大規模并行性,并且顯存訪問帶寬優勢顯著,因此十分適用于加速數據密集型分析,特別是圖形分析。GPU 采用大規模并行架構,包含數千個專為同時處理多個任務而設計的小核心,非常適合執行“為每個 X 執行 Y”的計算任務,可應用于大型圖形中的頂點或邊緣集。
借助 RAPIDS CUGRAPH 加速 NETWORKX
NVIDIARAPIDScuGraph 能夠提供將 RAPIDS 生態系統與 NetworkX 相集成的加速圖形分析庫。RAPIDS cuGraph 的愿景是使圖形分析無處不在,以便用戶只需考慮分析而無需考慮技術或框架。
最新款 NVIDIA GPU 的強大計算能力提升了圖形分析速度。此外,GPU 的內部顯存速率使 cuGraph 能夠快速切換數據結構,滿足分析需求,而不限于單一數據結構。
通過有效利用 GPU 中的大規模并行性,RAPIDS 的圖形算法(如 PageRank)和功能(如 NetworkX)能夠將大型圖形的分析速度提高 1000 多倍。用戶可以在單塊 NVIDIA A100 Tensor Core GPU 上探索多達 2 億個邊緣,并在 NVIDIA DGX A100 集群上擴展至數十億個邊緣。
NVIDIA GPU 加速的端到端數據科學
RAPIDS結合了執行高速 ETL、圖形分析、機器學習和深度學習的能力。它是一套開源軟件庫和 API,用于完全在 GPU 上執行數據科學流程,并且可以將訓練時間從幾天縮短至幾分鐘。RAPIDS 依賴于 NVIDIA CUDA 基元進行低級別計算優化,但通過用戶友好型 Python 界面實現 GPU 并行結構和極高的內存帶寬。
Rapids cuGraph 無縫集成到 RAPIDS 數據科學生態系統中,使數據科學家能夠使用存儲在 GPU DataFrame 中的數據輕松調用圖形算法。借助 RAPIDS GPU DataFrame,數據可以通過一個類似 Pandas 的接口加載到 GPU 上,然后用于各種連接的機器學習和圖形分析算法,而無需離開 GPU。這種級別的互操作性是通過 Apache Arrow 這樣的庫實現的。這可加速端到端流程(從數據準備到機器學習,再到深度學習)。RAPIDS 和 DASK 使 cuGraph 能夠擴展為多個 GPU,支持數十億個邊緣圖形。
原文標題:NVIDIA 大講堂 | 什么是 NETWORKX?
文章出處:【微信公眾號:NVIDIA英偉達】歡迎添加關注!文章轉載請注明出處。
審核編輯:湯梓紅
-
NVIDIA
+關注
關注
14文章
4940瀏覽量
102815 -
編程語言
+關注
關注
10文章
1938瀏覽量
34598 -
python
+關注
關注
56文章
4782瀏覽量
84453
原文標題:NVIDIA 大講堂 | 什么是 NETWORKX?
文章出處:【微信號:NVIDIA_China,微信公眾號:NVIDIA英偉達】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
評論