美文网首页码农
参数自适应重叠社群发现算法之ASLPAw

参数自适应重叠社群发现算法之ASLPAw

作者: FSS_Sosei | 来源:发表于2019-11-16 06:10 被阅读0次

社群发现也叫社区发现,是用来发掘分离出网络中子网内聚较高关系密切的一组组子网结构。

原始SLPA有个阈值“r”设定过滤掉频次低的社群标签,默认处理是用从0.01到0.5间十种“r”分别筛选一次,然后人工检视十种结果,人工选一个觉得合适的结果。

既麻烦不自动化,还又太主观。

在此用自动化的iForest(孤立森林)算法去除离群的低频标签,代替了人为阈值过滤方式。iForest属于Non-parametric和unsupervised的方法,即不用定义数学模型也不需要有标记的训练。

SLPA中有个对节点顺序洗牌的步骤,实际实现都用了伪随机函数。而伪随机函数是有周期的。节点数很多时,节点排列数会大于伪随机函数周期。为了洗牌完全性,所以节点规模越大,一轮洗牌需要的次数也越大。洗牌的恰当次数通过节点数代入Stirling公式算出。

我用Py来写个ASLPAw易于理解的参考实现。全面支持用于无权重/有权重、无向/有向及多重图结构数据。没有做效率优化,但健壮性有保证。作为基础的NetworkX包效率本就不高,也是不适宜大型网络上应用。下一版将扩展支持多种高效包,如SNAP、graph-tool、igraph。

源码放在GitHub上,GitHub - fsssosei/ASLPAw: Adaptive overlapping community discovery algorithm package in python.

欢迎一起写。

已经发布到了PyPI上,可以很方便的安装分发:

pip install ASLPAw

ASLPAw包是很易用的。

先在程序里导入:

from ASLPAw_package import ASLPAw

ASLPAw函数接受NetworkX图数据,计算后出各节点所属社群标签节点后以带权有向图格式返回

例如:

>>> ASLPAw(data_graph, seed=65535).adj

AdjacencyView({0: {1: {'weight': 30}}, 1: {6: {'weight': 15}, 1: {'weight': 14}}, 6: {6: {'weight': 31}}, 2: {1: {'weight': 30}}, 3: {1: {'weight': 29}}, 4: {1: {'weight': 30}}, 5: {1: {'weight': 30}}, 7: {6: {'weight': 30}}, 8: {6: {'weight': 29}}, 9: {6: {'weight': 29}}, 10: {6: {'weight': 25}}, 11: {6: {'weight': 28}}, 12: {15: {'weight': 19}}, 15: {15: {'weight': 24}}, 13: {15: {'weight': 22}}, 14: {15: {'weight': 22}}, 16: {15: {'weight': 19}}, 17: {15: {'weight': 19}}})

0: {1: {'weight': 30}}含义是,节点0所属的社群标签节点是1,权重30意思是0节点跟所属的社群标签间权重。其他节点格式含义相同。

相关文章

  • 参数自适应重叠社群发现算法之ASLPAw

    社群发现也叫社区发现,是用来发掘分离出网络中子网内聚较高关系密切的一组组子网结构。 原始SLPA有个阈值“r”设定...

  • 2020-04-10

    平头哥比赛之电机控制算法仿真 神经网络自适应pid算法 自适应模糊算法自适应神经网络算法自适应pid算法是在pid...

  • 社区发现算法-团渗透

    简介 k-团渗透算法(CPM)[1]是第一个能够发现重叠社区的算法,重叠社区指的是结点可以同时属于多个社区。重叠社...

  • 4.BP算法的优点与局限性

    优点: (1)能够自适应、自主学习。这是BP算法的根本以及其优势所在,BP算法根据预设的参数更新规则,不断地调整神...

  • iview table响应式问题

    问题 表格样式重叠如图所示: 研究过程 控制台调试发现,table宽度不能自适应如图: 解决办法: 更改表格样式

  • 第七节超参数

    超参数:在算法运行前需要决定的参数;模型参数:算法过程中学习的参数。KNN算法没有模型参数;KNN算法中的k是典型...

  • 机器学习4:局部加权回归

    参数学习算法,非参数学习算法 参数学习算法,用固定的明确的参数进行数据的拟合。比如线性回归。非参数学习算法,使用的...

  • 10分钟彻底理解自适应大邻域搜索算法

    算法介绍 自适应大邻域搜索算法(Adaptive Large Neighborhood Search),简称(AL...

  • 超参数

    超参数:在我们运行机器学习算法之前,需要指定的参数。模型参数:算法过程中学习的参数。 kNN算法没有模型参数kNN...

  • 2019-06-27-4.5 超参数

    4.5 超参数 超参数就是指在运行机器学习算法之前,需要指定的参数。 模型参数:算法过程中学习的参数。 KNN算法...

网友评论

    本文标题:参数自适应重叠社群发现算法之ASLPAw

    本文链接:https://www.haomeiwen.com/subject/bjveictx.html