社区,即一群拥有相似特征的点,社区内的点连接紧密,社区间稀疏连接。
我们可以把同一公司的同事看作是一个社区内的点,他们从事同一行业,可能有相似的教育背景,由于 工作需要,他们之间要进行频繁的沟通。
而不同的公司就像是两个不同的社区,他们之间可能存在着业务往来,但关系远没有公司内部连接紧密。
什么是社区切分?
那么发现这些社区对我们有什么用呢?
对于一家需要做广告宣传的公司,他一定是想花最少的钱,吸引最多的客户,通过广告的在某一社群的精准投放可以达到这一期望。
同理,对于银行信贷业务,如何才能降低逾期还款风险,审批时的筛选环节非常重要。
如果一个人所在的社区大多数人出现过多次逾期还款记录,那么这个申请人很有可能就不是一个优质的客户。
社区是若干社会群体或社会组织聚集在某一个领域里所形成的一个生活上相互关联的大集体,是社会有机体最基本的内容,是宏观社会的缩影。
下面让我们来一起看看如何进行社区切分:
一种快速迭代社区划分方法:Louvain Algorithm
Louvain算法是一种贪婪算法,运行时间是O(nlogn),算是非常的快了。
而且类似层级聚类算法,可以提供不同尺度的社区发现,这点对于一些定性分析是很有吸引力的。
Louvain算法分两个步骤:
1. 对本地节点转换社区,并计算Modularity的变化,从而优化网络整体的Q;
2. 把