炼数成金-Hadoop数据分析平台-第1周-作业
来源:互联网 发布:买吉他去淘宝还是天猫 编辑:程序博客网 时间:2024/05/04 21:05
现假设有A,B,C,D,E五个网页,其中
1)A网页有链接指向B,C,D,E
2)B网页有链接指向A,D
3)C网页有链接指向A,D
4)D网页有链接指向C
5)E网页有链接指向A,C
A 请写出这个网页链接结构的Google矩阵,目测你认为哪个页面的重要性(PR值)最高?
5个网页之间的链接关系为:
在得到初始矩阵后开始计算PR值。假设用户点击网页链接的概率为α,而用户跳到无关页面上的概率为1-α,而访问的页面恰好是这5个页面中A的概率只有(1-α)/5(α是阻尼系数,Google取α等于0.85)。
因此,取α=0.85,Google矩阵为:特征向量的初始值
将G代入公式p(n)=G*p(n-1)进行迭代计算,直到p(n)≈p(n-1),p(n)即为PR的值。
B(本题可选)手动或编程计算这5个页面的PR值,可以使用任何你熟悉的编程语言,欢迎在论坛上晒自己的程序和结果
答案:通过程序实现可知,页面C的PR值最高。
Java程序实现如下(需要导入Jama-1.0.2.jar包):package hadoop;import Jama.Matrix;public class PageRank { static double alpha =0.85; public static void main(String[] args) { double[][] arrayS ={ {0d,1.0d/2,1.0d/2,0,1.0d/2}, {1.0d/4,0,0,0,0}, {1.0d/4,0,0,1,1.0d/2}, {1.0d/4,1.0d/2,1.0d/2,0,0}, {1.0d/4,0,0,0,0} }; int length=6;//保存小数点后几位 double[][] arrayPR={{1},{1},{1},{1},{1}}; int n = arrayS.length; Matrix s = new Matrix(arrayS);//初始矩阵 System.out.print("初始矩阵S:");s.print(5, length); Matrix pageRank = new Matrix(arrayPR);//page rank初始值 System.out.print("特征向量:");pageRank.print(5, 0); Matrix u=new Matrix(n,n,1.0d);//单元矩阵 Matrix g=s.times(alpha).plus(u.times((1-alpha)/n)); System.out.print("Google矩阵G:");g.print(5, length); /* * 开始迭代计算适合的pageRank值。(也就是求矩阵g,特征值为1 的特征向量pageRank。ps:近似值) * p(n)=g*p(n-1) */ Matrix pageRankPre = pageRank;//P(0) int iterator =0; while(iterator<20){ pageRankPre = pageRank; pageRank = g.times(pageRank); iterator ++; System.out.println("迭代次数:"+iterator); pageRank.print(2, length); } } }
输出结果如下:
初始矩阵S: 0.000000 0.500000 0.500000 0.000000 0.500000 0.250000 0.000000 0.000000 0.000000 0.000000 0.250000 0.000000 0.000000 1.000000 0.500000 0.250000 0.500000 0.500000 0.000000 0.000000 0.250000 0.000000 0.000000 0.000000 0.000000特征向量: 1 1 1 1 1Google矩阵G: 0.030000 0.455000 0.455000 0.030000 0.455000 0.242500 0.030000 0.030000 0.030000 0.030000 0.242500 0.030000 0.030000 0.880000 0.455000 0.242500 0.455000 0.455000 0.030000 0.030000 0.242500 0.030000 0.030000 0.030000 0.030000迭代次数:1 1.425000 0.362500 1.637500 1.212500 0.362500迭代次数:2 1.154063 0.452813 1.637500 1.302813 0.452813迭代次数:3 1.230828 0.395238 1.695074 1.283621 0.395238迭代次数:4 1.206359 0.411551 1.670605 1.299934 0.411551迭代次数:5 1.209826 0.406351 1.686204 1.291268 0.406351迭代次数:6 1.212035 0.407088 1.677365 1.296424 0.407088迭代次数:7 1.208905 0.407558 1.682530 1.293450 0.407558迭代次数:8 1.211499 0.406892 1.679537 1.295180 0.406892迭代次数:9 1.209661 0.407444 1.681275 1.294176 0.407444迭代次数:10 1.210869 0.407053 1.680266 1.294759 0.407053迭代次数:11 1.210108 0.407310 1.680852 1.294420 0.407310迭代次数:12 1.210575 0.407148 1.680512 1.294617 0.407148迭代次数:13 1.210293 0.407247 1.680709 1.294503 0.407247迭代次数:14 1.210462 0.407187 1.680595 1.294569 0.407187迭代次数:15 1.210362 0.407223 1.680661 1.294530 0.407223迭代次数:16 1.210421 0.407202 1.680623 1.294553 0.407202迭代次数:17 1.210386 0.407214 1.680645 1.294540 0.407214迭代次数:18 1.210406 0.407207 1.680632 1.294547 0.407207迭代次数:19 1.210395 0.407211 1.680640 1.294543 0.407211迭代次数:20 1.210401 0.407209 1.680635 1.294546 0.407209
1、对于硬件的要求; 2、计算所需的时长; 3、可能需要投入的成本(硬件成本、人力成本、时间成本、边际成本、各种不确定的成本要求)
0 0
- 炼数成金-Hadoop数据分析平台-第1周-作业
- 炼数成金-Hadoop数据分析平台-第1周-笔记
- 炼数成金 Hadoop数据分析平台 第一版
- Hadoop数据分析平台学习笔记1
- 炼数成金 Hadoop数据分析平台 第四版 分享
- 最新的hadoop数据分析平台
- Hadoop集群让数据分析平台化
- Spark 1.X 大数据平台V2(第一周作业)
- Spark 1.X 大数据平台V2(第四周作业)
- Hadoop作业提交分析
- (大数据之MapReduce) Hadoop作业提交分析(四)
- Hadoop已经成为大数据分析平台的标配
- 基于Hadoop MapReduce模型的数据分析平台研究设计
- BigInsights -- 基于 Hadoop 的数据分析平台【基于db2数据库】
- Hadoop 信息集成平台,让大数据分析更简单!
- Hadoop云计算平台的数据挖掘分析pdf
- Hadoop第13周练习—HBase作业
- hadoop作业提交源码分析
- 解决hibernate对Sql Server分页慢的问题
- 获得屏幕宽/高,屏幕截图
- mysql存储过程实例
- 在 linux x86-32 模式下分析内存映射流程
- JMX 入门
- 炼数成金-Hadoop数据分析平台-第1周-作业
- HDU--2549壮志难酬【水题】
- 20150204 N1
- 如何解决软键盘弹出引起的各种不适
- 嘉缘人才招聘网网站开发简要说明
- 工作
- AFNetworking 2.0获取响应头信息
- 实现supportedInterfaceOrientations方法来控制当前控制器支持哪些方向
- Android WebRTC 音视频开发总结(四)