《hadoop进阶》PeopleRank从社交关系中挖掘价值用户
我从中随机抽取了100个用户,同时利用一定的技术手段,给这个100个用户之间赋予一定的关注关系,整理后的数据如下,主要包括两部分,第一部分是用户之间的关注关系(用户id,关注的用户id),第二是给每个用户赋予一定的初始值(用户id,初始用户pr值全部为1) ?????????????????????????? (1)?? 3:PR算法的MR化设计
???? 我么以下面这个图来说一下 ???????????????????????? ? ? ? ? ??ID=1的页面链向2,3,4页面,所以一个用户从ID=1的页面跳转到2,4的概率各为1/3 ?????? (1):构造邻接矩阵??????????? ?????? (2):构造邻接矩阵??????????? ???????? (3):转换为概率矩阵(转移矩阵)???????????? ????????? (4):阻尼系数概率矩阵????????? ? ???????? (5):进行迭代计算????????? ?????????? 至于迭代的次数有子集设定,并不是越多越好,根据六度分割理论来讲,一般迭代6次 五 . 程序开发:hadoop实现PeopleRank算法程序架构如下: 个人代码目录: 下面我们具体说一说每一个文件是干什么的 day7_author100_mess.csv:源文件,由dataEtl.java处理成我们所需要的数据格式 people.csv,peoplerank.txt :day7_author100_mess.csv处理后得到的文件 prjob.java:程序调度的主函数 prMatrix.java:数据转换为矩阵形式 prJisuan.java: 计算每个用户的PR值 prNormal.java:PR值的标准化 prSort.java:对转化后的PR值进行排序 最终的输出文件目录 (编辑:广西网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |