community_louvain社群划分方法
生活随笔
收集整理的這篇文章主要介紹了
community_louvain社群划分方法
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
第一、
這個方法是一個典型的EM算法。定義了一個“模塊度”的量化評價指標,然后結合上優化方法,不斷地優化模塊度,最終得到社群劃分的結果。
第二、模塊度的定義,具體如下:
對于圖中任意兩個節點,i和j
1、A(i,j)表示兩點之間的邊的權重
2、2m表示所有邊的權重和
3、k(i)表示點i所有邊的權重和(度中心性)
4、c(i,j)表示兩者是否在一個社區,如果在則為1否為為0
含義理解:
可以看到,
1、對于一個社區內邊越多,對外邊越少,則模塊度越大。
第三、算法流程
Louvain社區劃分算法及Java語言實現_Aldebran__的博客-CSDN博客_社區劃分算法實現
1、每個節點當成一個社群;
2、每個節點的社區編號由相鄰節點決定;(看看把當前節點給誰,模塊度最大)
3、遍歷所有節點;
4、重復1~3,直到所有節點的社群編號收斂;
======================
模塊度定義,隨時間的演化:
louvain算法 - 知乎
------------------------
?
?
?結論:對于模塊度的定義,記住這句話就好:每個社團內部的邊的權重之和,減去所有外部與社團節點相連邊的權重之和。
總結
以上是生活随笔為你收集整理的community_louvain社群划分方法的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 11-5 笔记
- 下一篇: ps 毛发 边缘_不会抠图怎么办?PS画