ImageVerifierCode 换一换
格式:DOCX , 页数:26 ,大小:19.11KB ,
资源ID:9643490      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/9643490.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(课题python 实现PageRank计算.docx)为本站会员(b****7)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

课题python 实现PageRank计算.docx

1、课题python 实现PageRank计算python 实现PageRank计算#coding=utf-8# Filename:pr.pyS=0,0,0,0,0.3333,0,0,1,0.3333,0.5,0,0,0.3333,0.5,1,0 #原始矩阵U=1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1 #全部都为1的矩阵f=1,1,1,1 #物征向量alpha=0.85 # a 值 0-1之间的小数n=len(S) #网页数aS a权重值 由google决定值大小,0-1之间,S为原始矩阵 def multiGeneMatrix(gene,Matrix): mullist=0

2、*len(Matrix) for row in range(len(Matrix) #定义新的矩阵大小,初始化为0 for i in range(0,len(Matrix): for j in range(0,len(Matrix): mullistij += Matrixij*gene return mullist 两个矩阵相加def addMatrix(Matrix1,Matrix2): if len(Matrix10)!=len(Matrix2): print 这两个矩阵无法相加. return addlist=0*len(Matrix1) for row in range(len(Ma

3、trix1) #定义新的矩阵大小 for i in range(0,len(Matrix1): for j in range(0,len(Matrix2): addlistij=Matrix1ij+Matrix2ij return addlist矩阵与向量相乘def multiMatrixVector(m,v): rv=range(len(v) for row in range(0,len(m): temp=0 for col in range(0,len(m1): temp+=mrowcol*vcol rvrow=temp return rv #公式f1=multiGeneMatrix(al

4、pha,S)f2=multiGeneMatrix(1-alpha)/len(S0),U)G=addMatrix(f1,f2)print G #google矩阵#迭代过程count=0while(True): count=count +1 pr_next=multiMatrixVector(G,f) print 第 %s 轮迭代 % count print str(round(pr_next0,5) +t + str(round(pr_next1,5) + t + str(round(pr_next2,5) + t + str(round(pr_next3,5) if round(f0,5)=r

5、ound(pr_next0,5) and round(f1,5)=round(pr_next1,5) and round(f2,5)=round(pr_next2,5) and round(f3,5)=round(pr_next3,5): #当前向量与上次向量值偏差不大后,停止迭 break f=pr_nextprint Page Rank值已计算完成运行结果:第 1 轮迭代0.15 1.2833 0.8583 1.70831第 2 轮迭代0.15 1.64455 0.7379 1.46746第 3 轮迭代0.15 1.43983 0.89143 1.51864第 4 轮迭代0.15 1.48

6、333 0.80442 1.56213第 5 轮迭代0.15 1.5203 0.82291 1.50666第 6 轮迭代0.14999 1.47315 0.83862 1.53809第 7 轮迭代0.14999 1.49986 0.81858 1.5314第 8 轮迭代0.14999 1.49418 0.82993 1.52572第 9 轮迭代0.14999 1.48935 0.82751 1.53295第 10 轮迭代0.14999 1.4955 0.82546 1.52885第 11 轮迭代0.14999 1.49201 0.82807 1.52971第 12 轮迭代0.14999 1.4

7、9274 0.82659 1.53045第 13 轮迭代0.14999 1.49337 0.8269 1.5295第 14 轮迭代0.14999 1.49256 0.82717 1.53003第 15 轮迭代0.14999 1.49301 0.82682 1.52991第 16 轮迭代0.14999 1.49291 0.82701 1.52981第 17 轮迭代0.14999 1.49282 0.82697 1.52993第 18 轮迭代0.14999 1.49292 0.82693 1.52986第 19 轮迭代0.14999 1.49286 0.82697 1.52987第 20 轮迭代0

8、.14999 1.49287 0.82695 1.52987第 21 轮迭代0.14999 1.49287 0.82695 1.52985第 22 轮迭代0.14999 1.49285 0.82695 1.52986第 23 轮迭代0.14999 1.49286 0.82694 1.52985第 24 轮迭代0.14999 1.49285 0.82694 1.52984第 25 轮迭代0.14999 1.49284 0.82694 1.52984第 26 轮迭代0.14999 1.49284 0.82694 1.52983第 27 轮迭代0.14998 1.49284 0.82693 1.52

9、983第 28 轮迭代0.14998 1.49283 0.82693 1.52982第 29 轮迭代0.14998 1.49283 0.82693 1.52982Page Rank值已计算完成#coding=utf-8# FileName:MapReducePageRank.py模拟map-reduce的思想,实现AB物理节点的分布计算。#矩阵与乘因子def multiGeneMatrix(gene,Matrix): result=0*len(Matrix0) for row in range(len(Matrix0) #定义大小一样新的矩阵,初始化为0 for i in range(0,le

10、n(Matrix0): for j in range(0,len(Matrix0): resultij=Matrixij*gene return result#两个矩阵相加def addMatrix(Matrix1,Matrix2): if len(Matrix10)!=len(Matrix21): print 这两个矩阵无法相加. return addList=0*len(Matrix10) for row in range(len(Matrix10) for i in range(0,len(Matrix10): for j in range(0,len(Matrix20): addLis

11、tij=Matrix1ij+Matrix2ij return addList#两个矩阵合并def addColumnMatrix(Matrix1,Matrix2): result=Matrix1+Matrix2 return result#矩阵与向量相乘def multiMatrixVector(m,v): rv = range(len(m) for row in range(0,len(m): temp=0 for col in range(0,len(m1): temp +=mrowcol*vcol rvrow=temp return rv按照map-reduce的思想,现在假设有物理节点

12、A,B参与计算,其中网页1、2保存于A,网页3、4保存于B,试述完整的pagerank计算过程 alpha=0.85 #定义google 权重值aS=0,0,0.3333,0,0.3333,0.5,0.3333,0.5 #假设A节点存放 page1 page2网页 原始矩阵bS=0,0,0,1,0,0,1,0 #假设B节点存放 page3 page4 网页 原始矩阵U=1,1,1,1,1,1,1,1 #全部为1的矩阵n=len(aS) #得到网页个数#计算A节点的G 矩阵fa1=multiGeneMatrix(alpha,aS) #google权重值 与 原始矩阵fa2=multiGeneMa

13、trix(1-alpha)/n,U) #(1-a)/n*UaG=addMatrix(fa1,fa2) #aS+(1-a)/n*U#计算B节点的G 矩阵fb1=multiGeneMatrix(alpha,bS)fb2=multiGeneMatrix(1-alpha)/n,U)bG=addMatrix(fb1,fb2)#AB节点特征向量qa_cur=1,1qb_cur=1,1count=1while(True): count = count +1 #得到A节点qG #print aG #print qa_cur qa_next=multiMatrixVector(aG,qa_cur); #得到B节

14、点qG qb_next=multiMatrixVector(bG,qb_cur); #合并两个矩阵 qab_next=addColumnMatrix(qa_next,qb_next); #小数位缩小到5位 qa_cur0=round(qa_cur0,5) qa_cur1=round(qa_cur1,5) qb_cur0=round(qb_cur0,5) qb_cur1=round(qb_cur1,5) qab_next0=round(qab_next0,5) qab_next1=round(qab_next1,5) qab_next2=round(qab_next2,5) qab_next3=

15、round(qab_next3,5) #判断是否收敛到十分接近 if qa_cur0=qab_next0 and qa_cur1=qab_next1 and qb_cur0=qab_next2 and qb_cur1=qab_next3: break qa_cur0=qab_next0 qa_cur1=qab_next1 qb_cur0=qab_next2 qb_cur1=qab_next3 sum=qa_cur0+qa_cur1+qb_cur0+qb_cur1 print P1= + str(qa_cur0/sum) print P2= + str(qa_cur1/sum) print P3

16、= + str(qb_cur0/sum) print P4= + str(qb_cur1/sum) print 第 %s 轮迭代。 % count运行结果:.0523*P2=0.249982557734.0523*P4=0.645363845671第 2 轮迭代。P1=0.0177595628415P2=0.0409836065574P3=0.0409836065574P4=0.900273224044第 3 轮迭代。P1=0.00261177626645P2=0.0085593855861.0417*P4=0.947066277055第 4 轮迭代。P1=0.000469766144541P

17、2=0.00132121728152.0421*P4=0.956106225869第 5 轮迭代。P1=8.26733246251e-05P2=0.00023148530895.0421*P4=0.957522445808第 6 轮迭代。P1=1.86008444783e-05P2=3.72016889567e-05.0421*P4=0.957776083034第 7 轮迭代。P1=0.0P2=0.0.0421*P4=0.957823385426第 8 轮迭代。P1=0.0P2=0.0.0421*P4=0.957835294118第 9 轮迭代。P1=0.0P2=0.0.0421*P4=0.9

18、57819528976第 10 轮迭代。P1=0.0P2=0.0.0421*P4=0.957828636052第 11 轮迭代。P1=0.0P2=0.0.0421*P4=0.957825679475第 12 轮迭代。P1=0.0P2=0.0.0421*P4=0.957837675049第 13 轮迭代。P1=0.0P2=0.0.0421*P4=0.95783234547第 14 轮迭代。P1=0.0P2=0.0.0421*P4=0.957813541567第 15 轮迭代。P1=0.0P2=0.0.0421*P4=0.957802291957第 16 轮迭代。P1=0.0P2=0.0.0421

19、*P4=0.957838944769第 17 轮迭代。P1=0.0P2=0.0P3=0.0422000948317P4=0.957799905168第 18 轮迭代。P1=0.0P2=0.0P3=0.042203092862P4=0.957796907138第 19 轮迭代。P1=0.0P2=0.0.0421*P4=0.957844229286第 20 轮迭代。P1=0.0P2=0.0P3=0.0422046637117P4=0.957795336288第 21 轮迭代。P1=0.0P2=0.0.0421*P4=0.957841118457第 22 轮迭代。P1=0.0P2=0.0.0421*

20、P4=0.957825451第 23 轮迭代。P1=0.0P2=0.0P3=0.042220699109P4=0.957779300891第 24 轮迭代。P1=0.0P2=0.0P3=0.0422383227994P4=0.957761677201第 25 轮迭代。P1=0.0P2=0.0.0421*P4=0.9578637073第 26 轮迭代。P1=0.0P2=0.0.0421*P4=0.957878315133第 27 轮迭代。P1=0.0P2=0.0.0421*P4=0.957885501206第 28 轮迭代。P1=0.0P2=0.0.0421*P4=0.957819437593第

21、 29 轮迭代。P1=0.0P2=0.0.0421*P4=0.957836338419第 30 轮迭代。P1=0.0P2=0.0.0421*P4=0.957878315133第 31 轮迭代。P1=0.0P2=0.0.0421*P4=0.957894736842第 32 轮迭代。P1=0.0P2=0.0P3=0.042225730071P4=0.957774269929第 33 轮迭代。P1=0.0P2=0.0.0421*P4=0.957833999112第 34 轮迭代。P1=0.0P2=0.0.0419*P4=0.958062905642第 35 轮迭代。P1=0.0P2=0.0.0421

22、*P4=0.957888826502第 36 轮迭代。P1=0.0P2=0.0P3=0.042297979798P4=0.957702020202第 37 轮迭代。P1=0.0P2=0.0.0419*P4=0.958096590909第 38 轮迭代。P1=0.0P2=0.0P3=0.0423322683706P4=0.957667731629第 39 轮迭代。P1=0.0P2=0.0P3=0.0422282120395P4=0.95777178796第 40 轮迭代。P1=0.0P2=0.0P3=0.0424242424242P4=0.957575757576第 41 轮迭代。P1=0.0P

23、2=0.0P3=0.0420454545455P4=0.957954545455第 42 轮迭代。P1=0.0P2=0.0.0421*P4=0.95785440613第 43 轮迭代。P1=0.0P2=0.0.0416*P4=0.958333333333第 44 轮迭代。P1=0.0P2=0.0P3=0.0420032310178P4=0.957996768982第 45 轮迭代。P1=0.0P2=0.0.0418*P4=0.958181818182第 46 轮迭代。P1=0.0P2=0.0P3=0.0428571428571P4=0.957142857143第 47 轮迭代。P1=0.0P2

24、=0.0.0413*P4=0.958620689655第 48 轮迭代。P1=0.0P2=0.0.0413*P4=0.958656330749第 49 轮迭代。P1=0.0P2=0.0.0434*P4=0.95652173913第 50 轮迭代。P1=0.0P2=0.0P3=0.0424836601307P4=0.957516339869第 51 轮迭代。P1=0.0P2=0.0P3=0.0404411764706P4=0.959558823529第 52 轮迭代。P1=0.0P2=0.0.0413*P4=0.95867768595第 53 轮迭代。P1=0.0P2=0.0.0418*P4=0

25、.958139534884第 54 轮迭代。P1=0.0P2=0.0.0418*P4=0.958115183246第 55 轮迭代。P1=0.0P2=0.0.0411*P4=0.958823529412第 56 轮迭代。P1=0.0P2=0.0P3=0.0397350993377P4=0.960264900662第 57 轮迭代。P1=0.0P2=0.0P3=0.0444444444444P4=0.955555555556第 58 轮迭代。P1=0.0P2=0.0.0416*P4=0.958333333333第 59 轮迭代。P1=0.0P2=0.0P3=0.0467289719626P4=0

26、.953271028037第 60 轮迭代。P1=0.0P2=0.0.0421*P4=0.957894736842第 61 轮迭代。P1=0.0P2=0.0.0470*P4=0.952941176471第 62 轮迭代。P1=0.0P2=0.0P3=0.04P4=0.96第 63 轮迭代。P1=0.0P2=0.0P3=0.044776119403P4=0.955223880597第 64 轮迭代。P1=0.0P2=0.0P3=0.05P4=0.95第 65 轮迭代。P1=0.0P2=0.0.0377*P4=0.962264150943第 66 轮迭代。P1=0.0P2=0.0P3=0.0425

27、531914894P4=0.957446808511第 67 轮迭代。P1=0.0P2=0.0.0476*P4=0.952380952381第 68 轮迭代。P1=0.0P2=0.0P3=0.0526315789474P4=0.947368421053第 69 轮迭代。P1=0.0P2=0.0P3=0.030303030303P4=0.969696969697第 70 轮迭代。P1=0.0P2=0.0P3=0.0344827586207P4=0.965517241379第 71 轮迭代。P1=0.0P2=0.0P3=0.0384615384615P4=0.961538461538第 72 轮迭代。P1=0.0P2=0.0.0434*P4=0.95652173913第 73 轮迭代。P1=0.0P2=0.0.0476*

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1