GraphChi由卡内基梅隆大学的Aapo Kyrola 博士生开发,是GraphLab项目的一个分支。该框架能够在单机上完成大数据的图计算。
项目地址:https://code.google.com/p/graphchi/
实例地址:http://code.google.com/p/graphchi/wiki/ExampleApps
其中的工具之一是pagerank,可以用它非常方便的对SNS的关系图(如新浪微博的好友关注图)进行分析。下面两篇文章就利用该工具对微博数据进行了分析,得出了用户的排名结果。
http://www.cnblogs.com/sing1ee/archive/2012/12/13/2811581.html
http://blog.sina.com.cn/s/blog_c2e02d1d01018qj7.html
安装:
1、下载graphchi:wget http://graphchi.googlecode.com/files/graphchi_src_v0.1.7b.tar.gz
2、tar zxvf graphchi_src_v0.1.7b.tar.gz
3、cd graphchi_v0.1.7b #后面称该目录为graphchi_ROOT
4、make example_apps/pagerank
make成功后将会在graphchi_ROOT/bin/example_apps/中生成可执行程序pagerank
运行方式:
需在graphchi_ROOT中运行,
bin/example_apps/pagerank file input-file <arg-label1> arg1 <arg-label2> arg2 ...
arg-label为参数标识,常用的有:
1、file 图数据文件
2、filetype 后面是图存储类型 edgelist或者adjacencylist
3、execthreads 计算的线程数
4、membudget_mb 加载图数据可使用的内存大小
5、niters 迭代计算的次数
示例:
bin/example_apps/pagerank file ../pg/part1_sort.txt 3 filetype edgelist execthreads 8 niters 10
数据格式:
graphchi支持两种数据格式:
EdgeListFormat:src dist1 value1
AdjacencyListFormat:src 4 dist1 dist2 dist3 dist4
分析SNS关系图时,用EdgeListFormat更加方便处理,先将原始数据进行处理得到EdgeListFormat格式的数据,例如:
1 2
1 3
1 4
1 5
...
表示1关注了2、3、4、5,value值可以省略。
实验:
本文利用上面的工具进行了测试,测试的数据也是用的爬盟的新浪微博的用户信息数据(如图1所示的位原始数据),先对原始数据进行预处理,得到EdgeListFormat的关系图数据(如图2所示),这里需要注意的是GraphChi处理的id最大是2^32-1,而微博id太大无法处理,这里对微博id映射到从0开始递增的新id,映射关系如图3所示,最后运行pagerank程序得到最终的结果。实验的数据集包含100w+的微博用户信息,结果如图4所示,列出了rank值最高的20个用户的id、rank值和username。
图1
图2
图3
图4
分享到:
相关推荐
以新浪微博数据为实验对象,通过改进传统的PageRank模型,提出了新的微博用户影响力排名算法——MBUI-Rank(micro-blog user influence rank)算法。该算法在传统的PageRank算法模型上加入了微博用户自身在微博中的...
基于改进PageRank的微博用户影响力评估算法研究,白海,胡铮,作为一种新兴、便捷的社会性媒体交互平台,微博不仅已经成为了人们获取、传播信息的主要手段,而且还是当前网络舆情的源头和热点
【资源说明】 1、该资源包括项目的全部源码,下载可以直接使用! 2、本项目适合作为计算机、数学、电子信息等专业的课程设计、期末...基于Spark GraphX+PageRank算法的仿微博用户好友的分布式推荐系统源码+项目说明.zip
基于Spark+PageRank算法构建仿微博用户好友的分布式推荐系统.zip 1、该资源内项目代码经过严格调试,下载即用确保可以运行! 2、该资源适合计算机相关专业(如计科、人工智能、大数据、数学、电子信息等)正在做课程...
为筛选微博网络和消息传播中的意见领袖,综合分析微博用户属性、行为和微博消息的传播特性,把用户的影响力因素分为:用户潜在影响力和微博传播影响力,据此构建用户影响力评估指标.进而提出基于改进RankPage算法的微博...
电信设备-基于Pagerank方法的微博信息传播影响力评估模型的实现方法.zip
通过对用户转发、评论和提及三种行为的综合分析,运用统计分析方法就微博用户的不同行为对传播影响力的贡献进行度量,提出一种基于行为权值分配的PageRank算法,对传播影响力大小进行定量的分析。采用微博数据的实验...
网页排名 使用PageRank计算微博用户的重要性。 从获取更多。
以新浪微博为研究对象,基于PageRank算法思想,参考网络群体结构平衡理论并且结合微博用户固有属性等因素,提出一种评估微博用户可信度的模型UC及相应的算法,以解决微博用户可信度比较问题。UC模型由用户自评估和...
基于Scala+Spark+PageRank算法构建仿微博用户好友的分布式推荐系统源码+详细文档+全部数据资料 高分项目.zip 【备注】 1、该项目是个人高分项目源码,已获导师指导认可通过,答辩评审分达到95分 2、该资源内项目代码...
使用Spark GraphX基于PageRank算法构建一个仿微博用户好友的分布式推荐系统。 注意事项 代码中文件的路径用户可以修改为自己数据所处的位置。 需要启动hadoop集群,这里使用了hadoop2.5.0-cdh5.3.6。 代码执行顺序:...
以新浪微博为研究对象,提出一种适用性更广、考虑因素更全面的微博用户影响力度量算法,将用户基本属性、用户交互行为和用户博文内容三个维度因素融入传统PageRank算法中,提出了一种多维度微博用户影响力度量算法...
针对微博话题存在时效性的特征以及用户之间交互行为特征,在经典PageRank算法的基础上,提出了基于用户交互的微博用户挖掘算法来有效挖掘推动微博话题流行的关键用户。首先介绍了微博话题关键用户的定义及其相关特征...
为了精准地获取微博领域权威性用户排序列表,在现有研究成果的基础上以新浪微博为研究对象,手动构建领域词典,面向微博领域提出了领域微博权威性用户度量模型(domains-microblog authoritative user ranking model...