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

評(píng)論