[DA45] 使用PageRank算法分析希拉里邮件中的人物关系

本文介绍了如何运用PageRank算法分析希拉里邮件数据,通过Python的NetworkX库处理数据,计算人物在网络中的权重,并通过网络图展示结果。邮件数据包括9306封邮件和513个人物,通过预处理、构建函数、建立规范数据集合,最终揭示了希拉里与其他关键人物的关系。

一. 相关知识

    (一) PageRank 算法

        PageRank 算法是 google 公司的创始人拉里·佩奇和谢尔·盖布林于1998年提出的网页搜索优化算法. 

        详细内容请见百度百科: google pagerank.

        如果你了解了该算法, 就能明白上一段的超链接从本页面链出, 链入百度百科的 PageRank 算法页面增加了该页面的PR值.

    (二) Python 的 PageRank 算法实现

        Python 的常用数据分析机器学习库 sklearn 中并没有 PageRank 算法, 但有一个关于图论和网络建模的工具叫 NetworkX, 它是用 Python 语言开发的工具, 内置了常用的图与网络分析算法, 可以方便我们进行网络数据分析. 

        简单的实现流程可以参考: https://github.com/Nana0606/machine_learning/blob/master/pagerank/pagerank_nx.py, 代码里包含相应的注释, 最后输出值为字典类型, 键为节点名, 值为对应的 PR值.

    (三) 数据介绍

        数据来自希拉里邮件门的部分泄露数据, 事件的相关介绍请看: 希拉里邮件门.

        数据集由三个文件组成:  Aliases.csv, Emails.csv 和 Persons.csv, 其中 Emails 文件记录了所有公开邮件的内容, 发送者和接收者的信息. Persons 文件统计了邮件中所有人物的姓名及对应的 ID. 因为姓名存在别名的情况, 为了将邮件中的人物进行统一, 我们还需要用 Aliases 文件来查询别名和人物的对应关系.

        数据集包括9306封邮件和513个人名, 本例通过邮件中的发送者和接收者来绘制整个关系网络. 因为涉及到的人物很多, 需要先通过 PageRank 算法计算每个人物在邮件关系网络中的权重, 再筛选出最有价值的人物来进

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值