您现在的位置是:主页 > MT4交易平台 >

python 社区划分 - CSDN

2021-12-17 19:16MT4交易平台 人已围观

简介python 社区划分 - CSDN 算法来自论文:Fast unfolding of communities in large networks 是一种急迅的非重叠的社团 算法 利用解释,直接挪用BGLL函数,参数传入Graph类型的变量就能够获得结果,返回...

  python 社区划分 - CSDN算法来自论文:Fast unfolding of communities in large networks 是一种急迅的非重叠的社团

  算法 利用解释,直接挪用BGLL函数,参数传入Graph类型的变量就能够获得结果,返回值第一个是所返回的

  2正在极少细节上会有所分别,祈望雄壮读者防备。本博客以代码为主,代码中会有详尽的解说。相干作品将会宣布正在我的个别博客专栏《

  声明代码的运转情况为Python3。Python3与Python2正在极少细节上会有所分别祈望雄壮读者防备。本博客以代码为主代码中会有详尽的解说。相干作品将会宣布正在我的个别博客专栏《Python从初学到深度练习》接待公共闭切。

  开篇之前先来一段很老套的开场白吧~ 跟着经济的日益起色人们能够正在社交网站前进行换取正在这些换取的背后不单存正在着用户之间的社交相干还存正在着用户之间的趣味相干。为了不妨对相干社交网站比方微博上的用户举行聚类能够利用社区划分的算法对用户举行聚类阐述本文首要讲述Label Propagation社区划分算法。

  社区浅显来讲即是收集中节点的会集为什么这么说呢由于社区构造指的是正在收集中由极少节点组成特定的分组正在统一个分组内的节点通过节点之间的边慎密的连正在一齐而分组与分组之间则毗连比力松散称每一个分组称一个社区。

  有目共睹Fast Unfolding算法是基于模块度的算法分别于Fast Unfolding算法的是Label Propagation算法是基于标签鼓吹的限度社区划分算法。正在初始阶段Label Propagation算法给每一个节点扶植一个独一的标签正在每一次迭代的经过中每一个节点遴选与其相连的节点中所属标签最众的社区标签为我方的社区标签。跟着社区标签的不息鼓吹最终慎密毗连的节点将有协同的标签。Label Propagation算法的打算经过比力轻易Label Propagation算法愚弄收集的构造教导标签的鼓吹经过正在这个经过中无需优化任何函数。跟着算法的迭代最终算法将我方决心社区的个数。

  正在标签鼓吹的经过中节点的标签更新能够分为两种处境同步更新和异步更新。同步更新趣味是某个节点正在迭代第n次的功夫会遵循其全豹相接节点第n-1次迭代的标签结果举行标签更新。同步更新关于一个二分或者近似二分的收集来说会存正在着社区标签震动的处境。这里咱们着重先容异步更新。一部更新是指某个节点正在迭代第n次的功夫会遵循依然迭代完第n次的标签结果和依然迭代完第n-1次的标签结果举行标签更新。

  通盘竣工经过缠绕着异步更新来竣事以下是异步更新的格式

  测试必要有测试数据测试数据可认为两列或三列的数据两列的数据均为节点三列的数据结尾一列需为权重值。如下所示

  这里必要一个加载数据的格式此格式正在前面的作品中也提过不止一次了能够利用《Python两种格式加载文献实质》不限于这两种加载数据由于此次聚类算法用到节点和边的观点因而加载数据的格式与以往略有分别完全格式如下

  此处必要有一个格式对测试获得的聚类结果即社区划分结果举行存储格式如下

  你们正在此经过中碰到了什么题目接待留言让我看看你们都碰到了哪些题目。

  1.标签鼓吹算法的完全竣工经过由python的一个类库networkx竣事。

  2.树立一个样板的社交收集图Zachary的赤手道俱乐部图外

  正在社区出现算法中简直不也许先确定社区的数目于是必需有一种怀抱的格式能够正在打算的经过中权衡每一个结果是不是相对最佳的结果。

  模块度Modularity用来权衡一个社区的划分是不是相比拟较好的结果。一个相对好的结果正在社区内部的节点相仿度较高而正在社区外部节点的相仿度较低。

  假设cv和cw分离暗示点v和点w所正在的两个社区社区内部的边数和收集中总边数的比例

  模块度的巨细界说为社区内部的总边数和收集中总边数的比例减去一个愿望值该愿望值是将收集设定为随机收集时同样的社划分配所变成的社区内部的总边数和收集中总边数的比例的巨细于是模块度Q为

  设eij暗示社区i和社区j内部边数宗旨和与总边数的比例ai暗示社区i内部的点所干系的全豹的边的数目与总边数的比例。

  正在举行每次划分的功夫打算Q值Q取值最大的功夫则是此网道较理念的划分。Q值的领域正在0-1之间Q值越大解释收集划分的社区构造无误度越高正在实质的收集阐述中Q值的最高点平常呈现正在0.3-0.7之间。

  有功夫也许不知晓全收集的数据能够用限度社区的限度模块度的格式来反省社区的合理性。假设有一个依然检测出来的社区社区的节点的会集为V这些节点全豹的相接节点而插手到会集当中来变成新的会集V*。界说V的相接矩阵为

  于是和整体模块度相仿的是能够用节点集V统共属于节点集V中的元素所占的比例的巨细来权衡一个社区的口舌

  限度模块度比整体模块度要速的众由于限度模块度的打算只必要用到限度的收集音讯只必要正在刚才最先的功夫扫描一下通盘收集。关于中小范围的收集也许限度模块度的恶果要低于整体模块度可是并且关于中等或者大范围的社会收集来说限度模块度的恶果也许还要好极少。

  PageRank的Page不过以为是网页暗示网页排名也能够以为是Larry Page(google 产物司理)由于他是这个算法的发觉者之一如故google CEO^_^。PageRank算法打算每一个网页的PageRank值然后遵循这个值的巨细对网页的紧急性举行排序。它的思念是模仿一个空闲的上钩者上钩者最初随机遴选一个网页掀开然后正在这个网页上呆了几分钟后跳转到该网页所指向的链接如许无所事事、漫无宗旨地正在网页上跳来跳去PageRank即是猜度这个空闲的上钩者漫衍正在各个网页上的概率。

  互联网中的网页能够看出是一个有向图此中网页是结点倘使网页A有链接到网页B则存正在一条有向边A-B下面是一个轻易的示例

  上述上钩者的作为是一个马尔科夫经过的实例要知足收敛性必要具备一个前提

  互联网上的网页不知足强连通的性子由于有极少网页不指向任何网页倘使遵守上面的打算上钩者来到如许的网页后便走头无道、四顾茫然导致前面累计获得的移动概率被清零如许下去最终的获得的概率漫衍向量全豹元素简直都为0。假设咱们把上面图中C到A的链接丢掉C酿成了一个终止点获得下面这个图

  此外一个题目即是陷坑题目即有些网页不存正在指向其他网页的链接但存正在指向我方的链接。譬喻下面这个图

  上钩者跑到C网页后就像跳进了陷坑陷入了漩涡再也不行从C中出来将最终导致概率漫衍值统共移动到C上来这使得其他网页的概率漫衍值为0从而通盘网页排名就失落了道理。倘使遵守上面图对应的移动矩阵为

Tags: 论坛排行榜  mql5参考手册 

广告位
    广告位
    广告位