国产精品电影_久久视频免费_欧美日韩国产激情_成年人视频免费在线播放_日本久久亚洲电影_久久都是精品_66av99_九色精品美女在线_蜜臀a∨国产成人精品_冲田杏梨av在线_欧美精品在线一区二区三区_麻豆mv在线看

這個(gè)圖聚類Python工具火了:社群結(jié)構(gòu)可視化、檢測

新聞 開發(fā)工具
最近,又有一款Python可視化工具火了。這一次,功能是針對(duì)圖聚類問題的社群結(jié)構(gòu)進(jìn)行檢測、可視化。

本文經(jīng)AI新媒體量子位(公眾號(hào)ID:QbitAI)授權(quán)轉(zhuǎn)載,轉(zhuǎn)載請(qǐng)聯(lián)系出處。

 最近,又有一款Python可視化工具火了。

這一次,功能是針對(duì)圖聚類問題的社群結(jié)構(gòu)進(jìn)行檢測、可視化。

這個(gè)圖聚類Python工具火了:社群結(jié)構(gòu)可視化、檢測 |開源

該項(xiàng)目的帖子在reddit上一經(jīng)發(fā)布,就被頂?shù)搅?ldquo;機(jī)器學(xué)習(xí)板塊”的榜首

這個(gè)圖聚類Python工具火了:社群結(jié)構(gòu)可視化、檢測 |開源

一起來看看它究竟都能用來做什么吧~

功能亮點(diǎn)

這款工具叫作communities, 是一個(gè)Python庫,用于圖聚類問題的社群結(jié)構(gòu)檢測。

它支持多種算法,包括:

  • Louvain算法;
  • Girvan-Newman算法;
  • 層次聚類算法;
  • 光譜聚類算法;
  • Bron-Kerbosch算法。

更贊的是,communities還可以實(shí)現(xiàn)這些算法的可視化

具體了解一下~

導(dǎo)入算法并插入矩陣

這里以Louvain算法為例。

這是一種基于模塊度的社群發(fā)現(xiàn)算法,也是貪心算法。

它根據(jù)頂點(diǎn)的共享邊將頂點(diǎn)排列成社群結(jié)構(gòu),也就是說,它將節(jié)點(diǎn)分為幾個(gè)社群,每個(gè)社群之間共享很少的連接,但是同一社群的節(jié)點(diǎn)之間共享許多連接。

最終,讓整個(gè)社群網(wǎng)絡(luò)呈現(xiàn)出一種模塊聚集的結(jié)構(gòu),實(shí)現(xiàn)整個(gè)社群網(wǎng)絡(luò)的模塊度的最大化。

所以首先,我們需要構(gòu)建一個(gè)表示無向圖的鄰接矩陣,可以加權(quán),也可以不加權(quán),矩陣為2Dnumpy數(shù)組。

n*n矩陣則表示有n個(gè)節(jié)點(diǎn),矩陣的每個(gè)位置分別表示各節(jié)點(diǎn)之間邊的關(guān)系,有邊則為1,沒有邊則為0。

然后,只需從communities.algorithms中導(dǎo)入算法并插入矩陣。

  1. import numpy as np 
  2. from communities.algorithms import louvain_method 
  3. adj_matrix = np.array([[011000], 
  4.                        [101000], 
  5.                        [110100], 
  6.                        [001011], 
  7.                        [000101], 
  8.                        [000110]]) 
  9. communities, _ = louvain_method(adj_matrix) 
  10. # >>> [{012}, {345}] 

接下來輸出社群列表,每個(gè)社群即為一組節(jié)點(diǎn)。

實(shí)現(xiàn)可視化,并進(jìn)行顏色編碼

利用communities將圖進(jìn)行可視化,將節(jié)點(diǎn)分到社群中并進(jìn)行顏色編碼,還可以選擇深色或淺色背景、保存圖片、選擇圖片的分辨率等等 。

draw_communities(adj_matrix : numpy.ndarray, communities : list, dark : bool = False, filename : str = None, seed : int = 1)

其中各參數(shù)的具體含義為:

  • adj_matrix (numpy.ndarray):圖的鄰接矩陣;
  • dark (bool, optional (default=False)):如果為 True, 則繪圖為深色背景,否則為淺色背景;
  • filename (str or None, optional (default=None)):通過 filename 路徑可以將圖另存為PNG格式; 設(shè)置 None 則是用交互方式顯示圖;
  • dpi (int or None, optional (default=None)):每英寸的點(diǎn)數(shù),控制圖像的分辨率;
  • seed (int, optional (default=2)):隨機(jī)種子。

具體到Louvain算法的可視化,代碼是這樣的:

  1. from communities.algorithms import louvain_method 
  2. from communities.visualization import draw_communities 
  3. adj_matrix = [...] 
  4. communities, frames = louvain_method(adj_matrix) 
  5. draw_communities(adj_matrix, communities) 
這個(gè)圖聚類Python工具火了:社群結(jié)構(gòu)可視化、檢測 |開源

動(dòng)畫呈現(xiàn)算法

communities 還可以動(dòng)畫呈現(xiàn)節(jié)點(diǎn)分配到社群的過程。

louvain_animation(adj_matrix : numpy.ndarray, frames : list, dark : bool = False, duration : int = 15, filename : str = None, dpi : int = None, seed : int = 2)

其中各參數(shù)的含義如下:

  • adj_matrix (numpy.ndarray):圖的鄰接矩陣;
  • frames (list):算法每次迭代的字典列表;
  • 每個(gè)字典都有倆個(gè)鍵:“C”包含節(jié)點(diǎn)到社群的查找表,“Q”表示圖的模塊度數(shù)值;
  • 此字典列表是 louvain_method的第二個(gè)返回值;
  • dark (bool, optional (default=False)):如果為 True, 則動(dòng)畫為深色背景和配色方案,否則為淺色方案;
  • duration (int, optional (default=15)):動(dòng)畫所需的持續(xù)時(shí)間,以秒為單位;
  • filename (str or None, optional (default=None)):通過filename 路徑將動(dòng)畫存為GIF;設(shè)置None則以交互方式展示動(dòng)畫;
  • dpi (int or None, optional (default=None)):每英寸點(diǎn)數(shù),控制動(dòng)畫的分辨率;
  • seed (int, optional (default=2)):隨機(jī)種子。

例如,空手道俱樂部網(wǎng)絡(luò)中Louvain算法的動(dòng)畫呈現(xiàn):

  1. from communities.algorithms import louvain_method 
  2. from communities.visualization import louvain_animation 
  3. adj_matrix = [...] 
  4. communities, frames = louvain_method(adj_matrix) 
  5. louvain_animation(adj_matrix, frames) 
這個(gè)圖聚類Python工具火了:社群結(jié)構(gòu)可視化、檢測 |開源

我們可以看到Louvain算法的動(dòng)態(tài)過程:

  • 首先掃描數(shù)據(jù)中的所有節(jié)點(diǎn),將每個(gè)節(jié)點(diǎn)看做一個(gè)獨(dú)立的社群;
  • 接下來,遍歷每個(gè)節(jié)點(diǎn)的鄰居節(jié)點(diǎn),判斷是否將該節(jié)點(diǎn)加入鄰居節(jié)點(diǎn)所在的社群,以提升模塊度;
  • 這一過程重復(fù)迭代,直到每一個(gè)節(jié)點(diǎn)的社群歸屬穩(wěn)定;
  • 最后,將所有在同一個(gè)社群的節(jié)點(diǎn)壓縮成一個(gè)新節(jié)點(diǎn),計(jì)算新節(jié)點(diǎn)的權(quán)重,直到整個(gè)圖的模塊度穩(wěn)定。

大家可以通過文末鏈接,自行嘗試一下其他算法~

此外,它還可以用于社群間鄰接矩陣、拉普拉斯矩陣以及模塊度矩陣等。

對(duì)于這款工具,不少網(wǎng)友發(fā)出“awesome”、“really cool!”等花式贊嘆,表示正是自己需要的。

當(dāng)然,也有網(wǎng)友提出疑問,例如:是否可以指定執(zhí)行的迭代次數(shù)(例如:提前停止)?

開發(fā)者對(duì)此表示:不能,但是對(duì)于某些算法,可以指定要將圖形劃分為多少個(gè)社群。

這個(gè)圖聚類Python工具火了:社群結(jié)構(gòu)可視化、檢測 |開源

作者簡介

[[383607]]

項(xiàng)目開發(fā)者Jonathan Shobrook,他目前是美國一家電商公司的軟件工程師。

之前GitHub上的熱門項(xiàng)目Rebound,也是出自他手,已經(jīng)獲得3.5k星。

更多信息可戳下方鏈接了解~

相關(guān)鏈接:

[1]https://github.com/shobrook/communities

[2]https://www.reddit.com/r/MachineLearning/comments/lozys9/p_i_made_communities_a_library_of_clustering/

 

責(zé)任編輯:張燕妮 來源: 量子位
相關(guān)推薦

2021-03-08 09:48:35

圖聚類Python可視化

2023-03-27 23:42:29

樹狀圖開發(fā)可視化

2021-10-08 09:27:11

Python圖形化工具

2021-02-21 08:11:46

PythonDash工具

2024-08-20 14:31:16

2022-08-26 09:15:58

Python可視化plotly

2021-07-27 11:45:37

Python 開發(fā)編程

2020-03-11 14:39:26

數(shù)據(jù)可視化地圖可視化地理信息

2021-08-05 10:46:59

GitHub代碼開發(fā)者

2018-07-11 12:30:51

編程語言Python數(shù)據(jù)可視化

2021-07-02 14:07:00

可視化Plotly漏斗圖

2023-05-06 12:57:34

Python工具

2021-02-07 20:23:09

GoogeBlockly可視化編程

2022-03-03 13:02:37

可視化網(wǎng)頁低代碼編程工具

2021-01-21 14:53:31

工具Python開發(fā)

2018-05-31 08:25:13

誤區(qū)工具可視化

2022-07-13 15:54:14

Matplotlib圖表

2017-10-14 13:54:26

數(shù)據(jù)可視化數(shù)據(jù)信息可視化

2009-04-21 14:26:41

可視化監(jiān)控IT管理摩卡

2020-10-12 18:08:19

JVM技能工具
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)

av亚洲精华国产精华精华| 99精品桃花视频在线观看| 成人福利免费观看| 四虎视频在线精品免费网址| 在线亚洲+欧美+日本专区| 免费中文日韩| 日韩视频一区| 精品久久久久久一区二区里番| 成人系列视频| 欧美日韩成人在线播放| 日本一区二区三区中文字幕| 国产精品福利片| 99九九热只有国产精品| 国产视频一区二区三区四区| 欧美精选一区| 国产一区二区久久久| 午夜精品电影| 亚洲视频欧洲视频| 免费一区二区三区视频导航| 91高清视频免费| 韩国av一区| 日韩欧美亚洲一区| 久久久国产精品x99av | 国产精品扒开腿做爽爽爽男男 | 菠萝菠萝蜜在线视频免费观看| 亚洲国产精品va在线| 欧美破处大片在线视频| 69国产精品| 日韩视频精品在线| 免费成人在线网站| 91大神xh98hx在线播放| 色综合91久久精品中文字幕| 国产 欧美在线| 国内在线视频| 久精品国产欧美| 天天做天天摸天天爽国产一区| 国产精东传媒成人av电影| 青青草精品视频在线| 日韩三区在线观看| 香蕉久久夜色精品| 北岛玲一区二区三区| yellow视频在线观看一区二区| 欧美日韩在线视频观看| 欧美国产偷国产精品三区| 色婷婷777777仙踪林| 最近2019好看的中文字幕免费| 91免费版在线看| 中文一区二区| 国产精品久久国产三级国电话系列| 欧美日本精品一区二区三区| 美腿丝袜在线亚洲一区| 亚洲一区二区av| 在线免费视频你懂得| 麻豆av一区二区三区| 欧美一区二区视频观看视频| 国产精品成人3p一区二区三区| 国产一区二区三区乱码| 色香阁99久久精品久久久| 99精品久久免费看蜜臀剧情介绍| 警花av一区二区三区| 最近2018中文字幕免费在线视频| 色综合久久久888| 国产日韩影视精品| 亚洲国产成人精品女人| 国产精品剧情| 国产午夜伦鲁鲁| 国产欧美一区二区三区在线| 欧美剧情片在线观看| 国产在线视频一区二区| 91精品尤物| 国产尤物视频在线| 三年中国中文在线观看免费播放| 欧美国产日韩一区二区| 91精品国产综合久久久久| 久久久久久久久免费| 亚洲一区二区三区| 香蕉视频国产精品| 最新av网址在线观看| 欧美日韩五月天| 思热99re视热频这里只精品| av一区二区三区免费观看| 欧美亚日韩国产aⅴ精品中极品| 天天综合网站| 狠狠色噜噜狠狠色综合久| 亚洲欧洲另类国产综合| 欧美1级片网站| 欧美xxx.com| 国产一区二区自拍| 91黄色小视频| 99精品视频在线播放观看| 亚洲国产电影| 欧美成人午夜77777| 日韩免费福利视频| 日本高清视频在线观看| 国产精品一区二区小说| 国产av不卡一区二区| 国产一区二区不卡视频| 久久琪琪电影院| 欧美午夜电影网| 亚洲三级免费观看| 91香蕉视频mp4| 久久久久国产精品一区二区| 97精品在线| 亚洲啊v在线观看| 激情亚洲小说| 中文字幕人成乱码在线观看| 免费在线看黄网站| 天堂√在线中文官网在线| 日韩免费高清在线| 成人在线观看黄| 免费一级特黄特色毛片久久看| 翔田千里亚洲一二三区| 国产欧美日本在线| 69av在线视频| 性欧美在线看片a免费观看| 亚洲欧美国产精品| 亚洲毛片在线免费观看| 亚洲成人aaa| 亚洲桃花岛网站| 久久中文字幕一区| 国a精品视频大全| 久久的精品视频| 国产欧美精品va在线观看| 国产精品视频导航| 国产视频在线观看一区| 91免费版网站入口| 57pao成人永久免费视频| 欧美黄色片免费观看| 久久久这里只有精品视频| 日韩一区二区精品视频| 国产69精品久久久久9999| 国产午夜精品免费一区二区三区| 亚洲人成电影网站色xx| 亚洲**2019国产| 国产精品亚洲网站| 成人欧美一区二区三区黑人免费| 亚洲精品视频一二三| 黄大色黄女片18第一次| 激情小视频在线观看| 小香蕉视频在线| 国产精品一二三产区| 日韩欧美中文字幕一区二区三区| 久久综合88| 丁香一区二区三区| 精品女厕一区二区三区| 精品一区二区三区四区| 18成人在线| 日韩视频在线观看视频| 日本欧美黄色片| 国产理论在线观看| 欧美a一级片| 91精品推荐| 亚洲国产电影在线观看| 国产精品免费视频网站| 精品sm在线观看| 久久精品人人爽| 韩国国内大量揄拍精品视频| 国产欧美在线看| 一区二区传媒有限公司| 涩涩涩视频在线观看| 成人盗摄视频| 91在线丨porny丨国产| 精品剧情在线观看| 亚洲综合中文字幕在线观看| 国产福利一区视频| 欧洲一级精品| 久久午夜视频| 日韩欧美在线免费| 青青精品视频播放| 播九公社成人综合网站| 婷婷丁香久久| av不卡在线观看| 自拍偷拍亚洲在线| 国产911在线观看| 亚洲国产成人二区| 欧美在线高清| 国产欧美日韩视频一区二区| 原创国产精品91| 欧洲精品在线播放| 999视频在线观看| 成人黄色网页| 麻豆国产欧美日韩综合精品二区| 国产精品1024| 日韩日本欧美亚洲| 亚洲人成小说| 奇米色一区二区| 欧美日韩成人网| 天堂аⅴ在线地址8| www.日本不卡| 99se婷婷在线视频观看| 日韩av中字| 午夜精品一区二区三区三上悠亚| 欧美系列一区| 国产精品免费不| 亚洲欧美福利视频| h视频在线免费| 午夜精品久久久久久久久| 日韩精品第1页| 视频一区欧美日韩| 国产精品视频在线观看|