在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫(xiě)文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

發(fā)現(xiàn)一個(gè)寶藏Python庫(kù),玩社區(qū)發(fā)現(xiàn)算法的不能錯(cuò)過(guò)!

Android編程精選 ? 來(lái)源:任識(shí)算法 ? 2023-02-08 11:11 ? 次閱讀
網(wǎng)絡(luò)是由一些緊密相連的節(jié)點(diǎn)組成的,并且根據(jù)不同節(jié)點(diǎn)之間連接的緊密程度,網(wǎng)絡(luò)也可視為由不同簇組成。簇內(nèi)的節(jié)點(diǎn)之間有著更為緊密的連接,不同簇之間的連接則相對(duì)稀疏。這種簇被稱為網(wǎng)絡(luò)中的社區(qū)結(jié)構(gòu)(community structure)。

由此衍生出來(lái)的社區(qū)發(fā)現(xiàn)(community detection)算法用來(lái)發(fā)現(xiàn)網(wǎng)絡(luò)中的社區(qū)結(jié)構(gòu),這類算法包括Louvain 算法、Girvan-Newman 算法以及 Bron-Kerbosch 算法等。

最近,在 GitHub 上發(fā)現(xiàn)了一個(gè)可以發(fā)現(xiàn)圖中社區(qū)結(jié)構(gòu)的 Python 庫(kù) communities,該庫(kù)由軟件工程師 Jonathan Shobrook 創(chuàng)建。

6aa6c156-a736-11ed-bfe3-dac502259ad0.png

項(xiàng)目地址:https://github.com/shobrook/communities

首先,該庫(kù)可以實(shí)現(xiàn)以下幾種社區(qū)發(fā)現(xiàn)算法:

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

其次,用戶還可以使用 communities 庫(kù)來(lái)可視化上述幾種算法,下圖為空手道俱樂(lè)部(Zachary's karate club)網(wǎng)絡(luò)中 Louvain 算法的可視化結(jié)果:

6abd92c8-a736-11ed-bfe3-dac502259ad0.gif

該庫(kù)的安裝方法也非常簡(jiǎn)單,可采用 pip 的方式安裝 communities,代碼如下:

importnumpyasnp

fromcommunities.algorithmsimportlouvain_method

adj_matrix=np.array([[0,1,1,0,0,0],
[1,0,1,0,0,0],
[1,1,0,1,0,0],
[0,0,1,0,1,1],
[0,0,0,1,0,1],
[0,0,0,1,1,0]])

communities,_=louvain_method(adj_matrix)

>>communities
[{0,1,2},{3,4,5}]

對(duì)于這個(gè) Python 庫(kù),很多網(wǎng)友給予了高度評(píng)價(jià),表示會(huì)去嘗試。

6b316234-a736-11ed-bfe3-dac502259ad0.png

算法詳解

1、Louvain 算法

louvain_method(adj_matrix:numpy.ndarray,n:int=None)->list

該算法來(lái)源于文章《Fast unfolding of communities in large networks》,簡(jiǎn)稱為 Louvian。

作為一種基于模塊度(Modularity)的社區(qū)發(fā)現(xiàn)算法,Louvain 算法在效率和效果上都表現(xiàn)比較好,并且能夠發(fā)現(xiàn)層次性的社區(qū)結(jié)構(gòu),其優(yōu)化的目標(biāo)是最大化整個(gè)圖屬性結(jié)構(gòu)(社區(qū)網(wǎng)絡(luò))的模塊度。

Louvain 算法對(duì)最大化圖模塊性的社區(qū)進(jìn)行貪婪搜索。如果一個(gè)圖具有高密度的群體內(nèi)邊緣和低密度的群體間邊緣,則稱之為模圖。

示例代碼如下:

fromcommunities.algorithmsimportlouvain_methodad

j_matrix=[...]

communities,_=louvain_method(adj_matrix)

2、Girvan-Newman 算法

girvan_newman(adj_matrix:numpy.ndarray,n:int=None)->list

該算法來(lái)源于文章《Community structure in social and biological networks》。

Girvan-Newman 算法迭代刪除邊以創(chuàng)建更多連接的組件。每個(gè)組件都被視為一個(gè) community,當(dāng)模塊度不能再增加時(shí),算法停止去除邊緣。

示例代碼如下:

fromcommunities.algorithmsimportgirvan_newman

adj_matrix=[...]

communities,_=girvan_newman(adj_matrix)

3、層次聚類

hierarchical_clustering(adj_matrix:numpy.ndarray,metric:str="cosine",linkage:str="single",n:int=None)->list

層次聚類實(shí)現(xiàn)了一種自底向上、分層的聚類算法。每個(gè)節(jié)點(diǎn)從自己 的社區(qū)開(kāi)始,然后,隨著層次結(jié)構(gòu)的建立,最相似的社區(qū)被合并。社區(qū)會(huì)一直被合并,直到在模塊度方面沒(méi)有進(jìn)一步的進(jìn)展。

示例代碼如下:

fromcommunities.algorithmsimporthierarchical_clustering

adj_matrix=[...]

communities=hierarchical_clustering(adj_matrix,metric="euclidean",linkage="complete")

4、譜聚類

spectral_clustering(adj_matrix:numpy.ndarray,k:int)->list

這種類型的算法假定鄰接矩陣的特征值包含有關(guān)社區(qū)結(jié)構(gòu)的信息。

示例代碼如下:

fromcommunities.algorithmsimportspectral_clustering

adj_matrix=[...]

communities=spectral_clustering(adj_matrix,k=5)

5、Bron-Kerbosch 算法

bron_kerbosch(adj_matrix:numpy.ndarray,pivot:bool=False)->list
Bron-Kerbosch 算法實(shí)現(xiàn)用于最大團(tuán)檢測(cè)(maximal clique detection)。圖中的最大團(tuán)是形成一個(gè)完整圖的節(jié)點(diǎn)子集,如果向該子集中添加其他節(jié)點(diǎn),則它將不再完整。將最大團(tuán)視為社區(qū)是合理的,因?yàn)閳F(tuán)是圖中連接最緊密的節(jié)點(diǎn)群。因?yàn)橐粋€(gè)節(jié)點(diǎn)可以是多個(gè)社區(qū)的成員,所以該算法有時(shí)會(huì)識(shí)別重疊的社區(qū)。示例代碼如下:
fromcommunities.algorithmsimportbron_kerbosch

adj_matrix=[...]

communities=bron_kerbosch(adj_matrix,pivot=True)

可視化

繪圖

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

可視化圖(graph),將節(jié)點(diǎn)分組至它們所屬的社區(qū)和顏色編碼中。返回代表繪圖的 matplotlib.axes.Axes。示例代碼如下:

fromcommunities.algorithmsimportlouvain_method

fromcommunities.visualizationimportdraw_communities

adj_matrix=[...]

communities,frames=louvain_method(adj_matrix)

draw_communities(adj_matrix,communities)

可視化圖如下:

6b4d0958-a736-11ed-bfe3-dac502259ad0.jpg

Louvain 算法的動(dòng)圖展示

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

Louvain 算法在圖中的應(yīng)用可以實(shí)現(xiàn)動(dòng)圖展示,其中每個(gè)節(jié)點(diǎn)的顏色代表其所屬的社區(qū),并且同一社區(qū)中的節(jié)點(diǎn)聚類結(jié)合在一起。

示例代碼如下:

fromcommunities.algorithmsimportlouvain_method

fromcommunities.visualizationimportlouvain_animation

adj_matrix=[...]

communities,frames=louvain_method(adj_matrix)

louvain_animation(adj_matrix,frames)

動(dòng)圖展示如下:

6b64fc8e-a736-11ed-bfe3-dac502259ad0.gif

參考鏈接:

https://www.codenong.com/cs105912940/

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

審核編輯 :李倩


聲明:本文內(nèi)容及配圖由入駐作者撰寫(xiě)或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 算法
    +關(guān)注

    關(guān)注

    23

    文章

    4699

    瀏覽量

    94773
  • 可視化
    +關(guān)注

    關(guān)注

    1

    文章

    1246

    瀏覽量

    21647
  • python
    +關(guān)注

    關(guān)注

    56

    文章

    4825

    瀏覽量

    86212

原文標(biāo)題:發(fā)現(xiàn)一個(gè)寶藏 Python 庫(kù),玩社區(qū)發(fā)現(xiàn)算法的不能錯(cuò)過(guò)!

文章出處:【微信號(hào):AndroidPush,微信公眾號(hào):Android編程精選】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    基于用戶滿意度的學(xué)習(xí)服務(wù)發(fā)現(xiàn)算法

    引入用戶滿意度因子,設(shè)計(jì)個(gè)學(xué)習(xí)服務(wù)發(fā)現(xiàn)算法——eLSDAUS,并應(yīng)用于網(wǎng)絡(luò)學(xué)習(xí)系統(tǒng)中。該算法允許用戶參與服務(wù)
    發(fā)表于 03-28 09:43 ?14次下載

    基于復(fù)雜網(wǎng)絡(luò)社區(qū)結(jié)構(gòu)的論壇熱點(diǎn)主題發(fā)現(xiàn)

    社區(qū)結(jié)構(gòu)是復(fù)雜網(wǎng)絡(luò)的重要特征之,該文通過(guò)構(gòu)造基于興趣的論壇用戶網(wǎng)絡(luò),成功地將社區(qū)結(jié)構(gòu)發(fā)現(xiàn)的理論與方法應(yīng)用于論壇熱點(diǎn)主題的自動(dòng)發(fā)現(xiàn),提出了極
    發(fā)表于 04-22 08:45 ?12次下載

    基于鏈接分析和用戶興趣的微博社區(qū)發(fā)現(xiàn)算法

    微博網(wǎng)絡(luò)中的每一個(gè)節(jié)點(diǎn)代表個(gè)微博用戶,微博用戶之間除了存在定的社會(huì)關(guān)系外,用戶本身也具有定的特性。用戶之間明顯的鏈接關(guān)系可以為
    發(fā)表于 11-21 17:06 ?3次下載

    種基于聚集系數(shù)的社區(qū)發(fā)現(xiàn)算法

    ,社區(qū)發(fā)現(xiàn)變得更為復(fù)雜。提出了種局部社區(qū)發(fā)現(xiàn)算法,該算法
    發(fā)表于 12-05 16:03 ?2次下載
    <b class='flag-5'>一</b>種基于聚集系數(shù)的<b class='flag-5'>社區(qū)</b><b class='flag-5'>發(fā)現(xiàn)</b><b class='flag-5'>算法</b>

    種加權(quán)稠密子圖社區(qū)發(fā)現(xiàn)算法

    目前,針對(duì)復(fù)雜網(wǎng)絡(luò)的社區(qū)發(fā)現(xiàn)算法大多僅根據(jù)網(wǎng)絡(luò)的拓?fù)浣Y(jié)構(gòu)來(lái)確定社區(qū),然而現(xiàn)實(shí)復(fù)雜網(wǎng)絡(luò)中的邊可能帶有表示連接緊密程度或者可信度意義的權(quán)重,這些先驗(yàn)信息對(duì)
    發(fā)表于 12-25 10:13 ?0次下載

    融合多維數(shù)據(jù)的微博社區(qū)發(fā)現(xiàn)算法

    隨著微博用戶的不斷增加,微博網(wǎng)絡(luò)已成為用戶進(jìn)行信息交流的平臺(tái),針對(duì)由于博文長(zhǎng)度受限,傳統(tǒng)的社區(qū)發(fā)現(xiàn)算法無(wú)法有效解決微博網(wǎng)絡(luò)的稀疏性等問(wèn)題,提出了DC-DTM(discovery community
    發(fā)表于 01-02 16:26 ?3次下載
    融合多維數(shù)據(jù)的微博<b class='flag-5'>社區(qū)</b><b class='flag-5'>發(fā)現(xiàn)</b><b class='flag-5'>算法</b>

    自動(dòng)編碼器的社區(qū)發(fā)現(xiàn)算法

    社區(qū)結(jié)構(gòu)是復(fù)雜網(wǎng)絡(luò)的重要特征之,社區(qū)發(fā)現(xiàn)對(duì)研究網(wǎng)絡(luò)結(jié)構(gòu)有重要的應(yīng)用價(jià)值.K均值等經(jīng)典聚類算法是解決社區(qū)
    發(fā)表于 01-02 18:32 ?0次下載
    自動(dòng)編碼器的<b class='flag-5'>社區(qū)</b><b class='flag-5'>發(fā)現(xiàn)</b><b class='flag-5'>算法</b>

    基于標(biāo)簽傳播的社交網(wǎng)絡(luò)的社區(qū)發(fā)現(xiàn)模型

    針對(duì)基于標(biāo)簽傳播的復(fù)雜網(wǎng)絡(luò)重疊社區(qū)發(fā)現(xiàn)算法中預(yù)先輸入?yún)?shù)在真實(shí)網(wǎng)絡(luò)中的局限性以及標(biāo)簽冗余等問(wèn)題,提出種基于標(biāo)簽傳播的面向大規(guī)模學(xué)術(shù)社交網(wǎng)絡(luò)的社區(qū)
    發(fā)表于 01-04 16:49 ?0次下載
    基于標(biāo)簽傳播的社交網(wǎng)絡(luò)的<b class='flag-5'>社區(qū)</b><b class='flag-5'>發(fā)現(xiàn)</b>模型

    組合29個(gè)簡(jiǎn)單Python代碼塊,自動(dòng)發(fā)現(xiàn)算法

    本文提出了種基于演化算法的搜索策略,將其AAD中實(shí)現(xiàn)。AAD可以基于Python的子集作為語(yǔ)法結(jié)構(gòu),組合成復(fù)雜度相對(duì)較高的程序(循環(huán),嵌套塊,嵌套函數(shù)調(diào)用等),并生成可執(zhí)行的Python
    的頭像 發(fā)表于 04-19 13:47 ?3750次閱讀

    多層網(wǎng)絡(luò)社區(qū)發(fā)現(xiàn)相關(guān)研究及對(duì)比

    社區(qū)發(fā)現(xiàn)是復(fù)雜網(wǎng)絡(luò)分析的重要任務(wù)」現(xiàn)有的社區(qū)發(fā)現(xiàn)方法大多面向單層網(wǎng)絡(luò),對(duì)現(xiàn)實(shí)世界中廣泛存在的多層網(wǎng)絡(luò)中的社區(qū)
    發(fā)表于 04-07 15:41 ?23次下載
    多層網(wǎng)絡(luò)<b class='flag-5'>社區(qū)</b><b class='flag-5'>發(fā)現(xiàn)</b>相關(guān)研究及對(duì)比

    結(jié)合改進(jìn)差分進(jìn)化和模塊密度的社區(qū)發(fā)現(xiàn)算法

    引入社區(qū)發(fā)現(xiàn)中,提出了種結(jié)合改進(jìn)差分進(jìn)化和模塊密度的社區(qū)發(fā)現(xiàn)算法。該
    發(fā)表于 04-12 14:54 ?4次下載
    結(jié)合改進(jìn)差分進(jìn)化和模塊密度的<b class='flag-5'>社區(qū)</b><b class='flag-5'>發(fā)現(xiàn)</b><b class='flag-5'>算法</b>

    復(fù)雜網(wǎng)絡(luò)社區(qū)發(fā)現(xiàn)下的多目標(biāo)五行環(huán)優(yōu)化算法

    社區(qū)結(jié)構(gòu)作為復(fù)雜網(wǎng)絡(luò)的重要特性,對(duì)理解網(wǎng)絡(luò)的功能和結(jié)構(gòu)具有重要意義。為了解決復(fù)雜網(wǎng)絡(luò)的社區(qū)發(fā)現(xiàn)問(wèn)題,提出了種多目標(biāo)五行環(huán)優(yōu)化算法( Mul
    發(fā)表于 05-17 16:47 ?2次下載

    通用的動(dòng)態(tài)社區(qū)發(fā)現(xiàn)研究框架綜述

    隨著社交媒體多樣性的増加,實(shí)時(shí)分析社交網(wǎng)絡(luò)的需求不斷増大,動(dòng)態(tài)社區(qū)發(fā)現(xiàn)的硏究受到了廣泛的關(guān)注。已有的社區(qū)發(fā)現(xiàn)綜述多是側(cè)重靜態(tài)社區(qū)
    發(fā)表于 06-04 15:15 ?5次下載

    基于譜聚類的多目標(biāo)復(fù)雜網(wǎng)絡(luò)社區(qū)發(fā)現(xiàn)算法

    多目標(biāo)優(yōu)化算法在復(fù)雜網(wǎng)絡(luò)社區(qū)發(fā)現(xiàn)中具有很強(qiáng)的競(jìng)爭(zhēng)力,然而,在處理社區(qū)結(jié)構(gòu)較為模糊、網(wǎng)絡(luò)數(shù)據(jù)規(guī)模大的問(wèn)題時(shí)難以得到滿意的效果。為克服現(xiàn)有多目標(biāo)方法的不足,提岀
    發(fā)表于 06-17 15:02 ?11次下載

    ESN中基于貪婪派系擴(kuò)張的重疊社區(qū)發(fā)現(xiàn)算法

    傳統(tǒng)局部擴(kuò)張方法在對(duì)企業(yè)社會(huì)化網(wǎng)絡(luò)(ESN)中的重疊社區(qū)結(jié)構(gòu)進(jìn)行識(shí)別時(shí),存在計(jì)算冗余與社區(qū)挖掘不徹底的問(wèn)題。為此,提出種基于貪婪派系擴(kuò)張的重疊社區(qū)
    發(fā)表于 06-24 11:16 ?16次下載
    主站蜘蛛池模板: 国产成人精品日本亚洲网站 | 一区二区三区高清视频在线观看 | 日本69sexmovies | 天天爽夜夜爽人人爽曰喷水 | 亚洲一区二区三区免费 | 永久免费的拍拍拍网站 | 日本黄色a级 | 天天干天天干天天 | 色综合视频在线观看 | 久久国产乱子伦精品免费看 | 在线免费看黄视频 | 国产理论视频 | 一级片免费看 | 亚洲最大的成网4438 | 模特精品视频一区 | 久青草免费在线视频 | 欧美色图一区 | 黄色日批网站 | 一丝不遮视频免费观看 | 日韩免费精品视频 | 天天爽夜夜爽夜夜爽 | 天天爱天天做色综合 | 一级特黄牲大片免费视频 | 亚洲国产视频网 | h视频在线免费观看 | 网站在线观看视频 | 日韩种子 | a理论片 | 日本69式xxx视频 | 色视频免费版高清在线观看 | 国产成人综合一区人人 | 性欧美xx | 国外免费精品视频在线观看 | 精品国产自在在线在线观看 | 国产伦子一区二区三区四区 | 婷婷综合五月中文字幕欧美 | 日韩精品另类天天更新影院 | 欧美性xx18一19 | 网站色小妹| 五月天婷婷在线观看 | 一级特黄女毛毛片 |