首页 > 编程知识 正文

简述c语言的重要性,r语言igraph使用说明

时间:2023-05-06 01:59:51 阅读:213636 作者:1458

前言   

     在此之前,笔者写过一篇关于复杂网络中节点重要性评估方法的文章(http://blog.csdn.net/a_step_further/article/details/51176964),当时用spark实现过比较简单的方法。近期在业务应用中,又遇到需要对业务问题中不同用户的影响力进行分级的需求,那么重新捡起来复习下。这次使用igraph C library来做,因为它内置了不少已经开发好的接口,使用起来很是方便。本文将几种方法简单做一个对比。

方法讨论

      评价网络中节点重要性程度的主流方法有:节点度、中心度、点介数、PageRank、特征向量等,而igraph包含有所有这些方法的实现,对应关系是:

方法igraph接口备注节点度igraph_strength在简单的度数统计之外,还引入了边的权重。即所有相关的边的权重相加,就是这里的节点强度中心度igraph_closeness直观理解起来,就是刻画一个点有多快可以被其它点沿着某一条路径达到点介数igraph_betweenness经过该点的网络中测地线的数量PageRankigraph_pagerank太著名了,不解释特征向量法igraph_eigenvector_centrality在评价某节点时,不仅考虑它自己的影响力,还要考虑其邻居节点的影响力,即你认识的人越重要,你自己也越重要 实践讨论

    本文在业务分析中使用的是微博中转发、评论等关系所构造的图结构,图中每个节点代表一个腾讯微博账号,一条边代表一次转发或评论关系,边的权重代表某段时间内的互动次数。该图的规模是52万个节点,365万条边,使用的单机配置是64G内存,2个物理CPU,6核心。在实践中进行尝试的一些数据如下:


  对于上面3种跑出结果的数据进行标准化,画出数据分布图如下所示,可见均符合长尾分布  




版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。