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