32丨PageRank:搞懂Google的PageRank算法

使用NetworkX工具

1. 关于图的创建

使用 nx.Graph() 进行创建无向图,使用 nx.DiGraph() 来创建有向图

2. 关于节点的增加、删除和查询

使用 G.add_node(‘A’) 添加一个节点,也可以使用G.add_nodes_from([‘B’,‘C’,‘D’,‘E’]) 添加节点集合。

删除节点,用 G.remove_node(node) 删除一个指定的节点,也可以用G.remove_nodes_from([‘B’,‘C’,‘D’,‘E’]) 删除集合中的节点。

图中所有的节点,用 G.nodes();也可以用G.number_of_nodes() 得到图中节点的个数。

3. 关于边的增加、删除、查询

增加边与添加节点的方式相同,使用 G.add_edge(“A”, “B”) 添加指定的“从 A 到B”的边,也可以使用 add_edges_from 函数从边集合中添加。也可以做一个加权图,使用 add_weighted_edges_from 函数从带有权重的边的集合中添加。在这个函数的参数中接收的是 1 个或多个三元组 [u,v,w] 作为参数,u、v、 w 分别代表起点、终点和权重。

用 remove_edge 函数和 remove_edges_from 函数删除指定边和从边集合中删除。

用 edges() 函数访问图中所有的边,使用 number_of_edges() 函数得到图中边的个数。

nx.pagerank(G) 这个函数运行PageRank算法,函数中的参数 G 代表创建好的图。

希拉里邮件PR分析

https://github.com/cystanford/PageRank

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 二、图 原文:Chapter 2 Graphs 译者:飞龙 协议:CC BY-NC-SA 4.0 自豪地采用谷歌...
    布客飞龙阅读 4,736评论 1 6
  • GraphX Programming Guide 概述 入门 属性 Graph 示例属性 Graph Graph ...
    草里有只羊阅读 4,983评论 0 1
  • 十月一日是祖国母亲的生日,我们班也举行了一次公益活动,一大早我和妈妈早早的就到了和合公园门口,过了一会,方...
    快乐E家阅读 3,520评论 0 0
  • 沉睡中 有人 用力 把我拽起 努力睁开 惺忪睡眼 面前站着 打工夜归的 亲闺女 妈妈妈 俺饿了 快快快 做饭去 好...
    孙永秀阅读 2,271评论 5 5
  • 每天写日记。对写作的提高,对自己的提升。贵在坚持。最近我看了林微因学做才情优雅女人的这本书。我很欣赏这句话:没有热...
    水心艺阅读 1,761评论 0 0