<code id="8ka2b"></code>
<th id="8ka2b"></th>
<em id="8ka2b"></em>

<li id="8ka2b"><acronym id="8ka2b"><kbd id="8ka2b"></kbd></acronym></li>
    <dd id="8ka2b"><pre id="8ka2b"></pre></dd>
    1. <dd id="8ka2b"></dd>

        <ol id="8ka2b"><object id="8ka2b"><blockquote id="8ka2b"></blockquote></object></ol>

        千鋒教育-做有情懷、有良心、有品質的職業教育機構

        手機站
        千鋒教育

        千鋒學習站 | 隨時隨地免費學

        千鋒教育

        掃一掃進入千鋒手機站

        領取全套視頻
        千鋒教育

        關注千鋒學習站小程序
        隨時隨地免費學習課程

        【熱點話題】 零基礎學IT IT學習教程 IT學習筆記 IT技術干貨 IT培訓機構 IT應聘面試 IT職場就業 Java培訓機構哪些好
        當前位置:首頁  >  關于學院  >  技術干貨  > 發現一個寶藏Python庫,玩社區發現算法的不能錯過!

        發現一個寶藏Python庫,玩社區發現算法的不能錯過!

        來源:千鋒教育
        發布人:wjy
        時間: 2023-01-13 10:41:00 1673577660

          網絡是由一些緊密相連的節點組成的,并且根據不同節點之間連接的緊密程度,網絡也可視為由不同簇組成。簇內的節點之間有著更為緊密的連接,不同簇之間的連接則相對稀疏。這種簇被稱為網絡中的社區結構(community structure)。

          由此衍生出來的社區發現(community detection)算法用來發現網絡中的社區結構,這類算法包括 Louvain 算法、Girvan-Newman 算法以及 Bron-Kerbosch 算法等。

          最近,在 GitHub 上發現了一個可以發現圖中社區結構的 Python 庫 communities,該庫由軟件工程師 Jonathan Shobrook 創建。

        寶藏 Python 庫1

          項目地址:https://github.com/shobrook/communities

          首先,該庫可以實現以下幾種社區發現算法:

          Louvain 算法

          Girvan-Newman 算法

          層次聚類

          譜聚類

          Bron-Kerbosch 算法

          其次,用戶還可以使用 communities 庫來可視化上述幾種算法。

          該庫的安裝方法也非常簡單,可采用 pip 的方式安裝 communities,代碼如下:

        寶藏 Python 庫2

          對于這個 Python 庫,很多網友給予了高度評價,表示會去嘗試。

        寶藏 Python 庫3

          算法詳解

          1、Louvain 算法

        寶藏 Python 庫4

          該算法來源于文章《Fast unfolding of communities in large networks》,簡稱為 Louvian。

          作為一種基于模塊度(Modularity)的社區發現算法,Louvain 算法在效率和效果上都表現比較好,并且能夠發現層次性的社區結構,其優化的目標是最大化整個圖屬性結構(社區網絡)的模塊度。

          Louvain 算法對最大化圖模塊性的社區進行貪婪搜索。如果一個圖具有高密度的群體內邊緣和低密度的群體間邊緣,則稱之為模圖。

          示例代碼如下:

        寶藏 Python 庫5

          2、Girvan-Newman 算法

        寶藏 Python 庫6

          該算法來源于文章《Community structure in social and biological networks》。

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

          示例代碼如下:

        寶藏 Python 庫7

          3、層次聚類

        寶藏 Python 庫8

          層次聚類實現了一種自底向上、分層的聚類算法。每個節點從自己 的社區開始,然后,隨著層次結構的建立,最相似的社區被合并。社區會一直被合并,直到在模塊度方面沒有進一步的進展。

          示例代碼如下:

        寶藏 Python 庫9

          4、譜聚類

        寶藏 Python 庫10

          這種類型的算法假定鄰接矩陣的特征值包含有關社區結構的信息。

          示例代碼如下:

        寶藏 Python 庫11

          5、Bron-Kerbosch 算法

        寶藏 Python 庫12

          Bron-Kerbosch 算法實現用于最大團檢測(maximal clique detection)。圖中的最大團是形成一個完整圖的節點子集,如果向該子集中添加其他節點,則它將不再完整。將最大團視為社區是合理的,因為團是圖中連接最緊密的節點群。因為一個節點可以是多個社區的成員,所以該算法有時會識別重疊的社區。

          示例代碼如下:

        寶藏 Python 庫13

          可視化

          繪圖

        寶藏 Python 庫14

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

        寶藏 Python 庫15

          可視化圖如下:

        寶藏 Python 庫16

          Louvain 算法的動圖展示

        寶藏 Python 庫17

          Louvain 算法在圖中的應用可以實現動圖展示,其中每個節點的顏色代表其所屬的社區,并且同一社區中的節點聚類結合在一起。

          示例代碼如下:

        寶藏 Python 庫18

        聲明:本站稿件版權均屬千鋒教育所有,未經許可不得擅自轉載。

        10年以上業內強師集結,手把手帶你蛻變精英

        請您保持通訊暢通,專屬學習老師24小時內將與您1V1溝通

        免費領取

        今日已有369人領取成功

        劉同學 138****2860 剛剛成功領取
        王同學 131****2015 剛剛成功領取
        張同學 133****4652 剛剛成功領取
        李同學 135****8607 剛剛成功領取
        楊同學 132****5667 剛剛成功領取
        岳同學 134****6652 剛剛成功領取
        梁同學 157****2950 剛剛成功領取
        劉同學 189****1015 剛剛成功領取
        張同學 155****4678 剛剛成功領取
        鄒同學 139****2907 剛剛成功領取
        董同學 138****2867 剛剛成功領取
        周同學 136****3602 剛剛成功領取

        猜你喜歡LIKE

        最新文章NEW

        相關推薦HOT

        更多>>

        ARM內核有多少個寄存器,請列舉出這些寄存器的名字

        未分組寄存器:R0-R7  分組寄存器 :R8-R14  程序計數器PC即R15寄存器  狀態寄存器CPSR  備份狀態寄存器SPSR  R13:SP棧指針寄存器,...詳情>>

        2023-01-20 19:57:50

        版本升級后,測試人有哪些工作要做?

        眾所周知,在軟件的生命周期中,只要軟件不被淘汰,測試的工作就要一直進行。很多時候一旦項目版本發布,大部分測試人員都會認為工作終于結束了...詳情>>

        2023-01-13 14:37:32

        發現一個寶藏Python庫,玩社區發現算法的不能錯過!

        網絡是由一些緊密相連的節點組成的,并且根據不同節點之間連接的緊密程度,網絡也可視為由不同簇組成。簇內的節點之間有著更為緊密的連接,不同...詳情>>

        2023-01-13 10:41:00

        數據科學使用Python時常見的9個錯誤

        通過應用軟件工程最佳實踐,可以交付質量更好數據科學的項目。更好的質量可能是更少的錯誤、可靠的結果和更高的編碼效率。最佳實踐都是從錯誤中...詳情>>

        2022-10-27 11:42:12

        Mac地址會重復嗎?Mac地址也會耗盡嗎?

        Mac地址有點像身份證號碼,而IP地址就像門牌號碼。在茫茫大海中僅憑一個身份證號碼找到一顆別樣的沙粒很難,但如果先找到具體的沙灘,沙灘劃分...詳情>>

        2022-10-20 18:01:25

        快速通道 更多>>

        開班信息
        北京校區
        • 北京校區
        • 大連校區
        • 廣州校區
        • 成都校區
        • 杭州校區
        • 長沙校區
        • 合肥校區
        • 南京校區
        • 上海校區
        • 深圳校區
        • 武漢校區
        • 鄭州校區
        • 西安校區
        • 青島校區
        • 重慶校區
        • 太原校區
        • 沈陽校區

        人人爽天天碰天天躁夜夜躁
        <code id="8ka2b"></code>
        <th id="8ka2b"></th>
        <em id="8ka2b"></em>

        <li id="8ka2b"><acronym id="8ka2b"><kbd id="8ka2b"></kbd></acronym></li>
          <dd id="8ka2b"><pre id="8ka2b"></pre></dd>
          1. <dd id="8ka2b"></dd>

              <ol id="8ka2b"><object id="8ka2b"><blockquote id="8ka2b"></blockquote></object></ol>