加入收藏 | 设为首页 | 会员中心 | 我要投稿 核心网 (https://www.hxwgxz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

《hadoop进阶》PeopleRank从社交关系中挖掘价值用户

发布时间:2021-03-06 16:13:32 所属栏目:大数据 来源:网络整理
导读:转载请注明出处: 转载自? Thinkgamer的CSDN博客: blog.csdn.net/gamer_gyt 代码下载地址:点击查看 1:PageRank 与 PeopleRank 2:需求分析:挖掘CSDN博客的价值用户 3:算法模型:PeopleRank算法 4:架构设计:从数据准备到PR算法的MR化 5:程序开发:had
副标题[/!--empirenews.page--]

转载请注明出处: 转载自? Thinkgamer的CSDN博客: blog.csdn.net/gamer_gyt

代码下载地址:点击查看


1:PageRank 与 PeopleRank

2:需求分析:挖掘CSDN博客的价值用户

3:算法模型:PeopleRank算法

4:架构设计:从数据准备到PR算法的MR化

5:程序开发:hadoop实现PeopleRank算法


一:PageRank与PeopleRank

??????? PageRank算法是Google从垃圾堆里捡黄金的重量级算法,它让谷歌的搜索引擎一度成为No.1,当然谷歌所公开的PR算法毕竟是过去式了,既然它能公开,那么肯定不是它最新的算法演化版本,但是不管怎样,我们依旧从中学习到很多创新和独特的思想。

??????? PR算法主要用于网页评分计算,它利用互联网的网页之间的连接关系,给网页进行打分,最终PR值越高的网页价值也就越高。

??????? 自2012以来,中国开始进入社交网络的时代,开心网,人人网,新浪微博,腾讯微博,微信等社交网络应用,开始进入大家的生活。最早是由“抢车位”,“偷菜”等社交游戏带动的社交网络的兴起,如今人们会更多的利用社交网络,获取信息和分享信息。我们的互联网,正在从以网页信息为核心的网络,向着以人为核心的网络转变着。

??????? 于是有人就提出了,把PageRank模型应用于社交网络,定义以人为核心的个体价值。这样PageRank模型就有了新的应用领域,同时也有了一个新的名字PeopleRank。


二 . 需求分析:挖掘CSDN博客的价值用户


??????

《hadoop进阶》PeopleRank从社交关系中挖掘价值用户

??????? 如上图所示,CSDN博客的每个用户都有关注人数和粉丝人数,这在一定程度上和网页之间的连接关系是十分相似的,我个人比较菜,粉丝数太少,当然我希望看过我博客的人,如果你感觉不错的话是否可以关注以下呢,闲话少说,这种相互关注的关系在一定程度上体现了用户的价值,粉丝数目越多的人,在一定程度上,其本身所具有的重要性。

??????? 顺便给大家看一个CSDN排名47的牛人

???????

《hadoop进阶》PeopleRank从社交关系中挖掘价值用户


??????? 这刚好符合PR算法,我们是否可以考虑使用PeopleRank算法,利用用户之间的关注关系,来计算不同用户的PR值,从而提取出“价值”更高的用户呢?答案是肯定的。


三 . 算法模型:PeopleRank算法


?????? 那么什么是PageRank算法?当然本篇博客并不是来谈PR算法的,而是将如何利用hadoop实现pr算法从而挖掘有价值的用户,所以以下只是简单的对pr算法的描述,更多还请自己搜索查看(以下部分摘自:http://blog.jobbole.com/71431/)

?????? 互联网中的网页可以看出是一个有向图,其中网页是结点,如果网页A有链接到网页B,则存在一条有向边A->B,下面是一个简单的示例:

??????

《hadoop进阶》PeopleRank从社交关系中挖掘价值用户

???????? 这个例子中只有四个网页,如果当前在A网页,那么悠闲的上网者将会各以1/3的概率跳转到B、C、D,这里的3表示A有3条出链,如果一个网页有k条出链,那么跳转任意一个出链上的概率是1/k,同理D到B、C的概率各为1/2,而B到C的概率为0。一般用转移矩阵表示上网者的跳转概率,如果用n表示网页的数目,则转移矩阵M是一个n*n的方阵;如果网页j有k个出链,那么对每一个出链指向的网页i,有M[i][j]=1/k,而其他网页的M[i][j]=0;上面示例图对应的转移矩阵如下:

???????????????????

《hadoop进阶》PeopleRank从社交关系中挖掘价值用户


????????? 初试时,假设上网者在每一个网页的概率都是相等的,即1/n,于是初试的概率分布就是一个所有值都为1/n的n维列向量V0,用V0去右乘转移矩阵M,就得到了第一步之后上网者的概率分布向量MV0,(nXn)*(nX1)依然得到一个nX1的矩阵。下面是V1的计算过程:

??????????????????

《hadoop进阶》PeopleRank从社交关系中挖掘价值用户

???????????? 注意矩阵M中M[i][j]不为0表示用一个链接从j指向i,M的第一行乘以V0,表示累加所有网页到网页A的概率即得到9/24。得到了V1后,再用V1去右乘M得到V2,一直下去,最终V会收敛,即Vn=MV(n-1),上面的图示例,不断的迭代,最终V=[3/9,2/9,2/9]’:

????????????????

《hadoop进阶》PeopleRank从社交关系中挖掘价值用户


四 .架构设计:从数据准备到PR算法的MR化

这里我采用的是用户和用户之间的关注关系,例如 用户A 关注 用户B

1:数据采集

使用Python爬虫采集CSDN博客的用户和用户的关注关系,这里我使用的采集程序架构图如下:

(编辑:核心网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

热点阅读