PageRank算法 python单机实现
来源:互联网 发布:三分算法 编辑:程序博客网 时间:2024/05/16 14:40
海量数据挖掘课的编程作业。
实现PageRank,计算某个网页最终的rank值,数据是谷歌提供的。
作业反馈结果显示,代码正确。一共进行了26次迭代,总共运行时间83s。
数据链接http://snap.stanford.edu/data/web-Google.txt.gz。
代码:
from math import fabsfrom time import timedata = open('web-Google.txt')N = 875713tax_rate = 0.8eps = 1e-6r = [1./N for i in range(N)]r2 = [1./N for i in range(N)]out_degree = [0 for i in range(N)]m = [[] for i in range(N*2)]hash_table = [-1 for i in range(N*2)]idx = 0def hash(x):global idxif hash_table[x] == -1:hash_table[x] = idxidx += 1return hash_table[x]data.readline()data.readline()data.readline()data.readline()for line in data:x, y = map(hash, map(int, line.split()))out_degree[x] += 1m[y].append(x)print 'data loaded'print 'start iterating...'t = 0begin = time()while True:for i in range(N):r[i] = 0for in_id in m[i]: r[i] += tax_rate * r2[in_id] / out_degree[in_id]der = 1 - sum(r)for i in range(N):r[i] += der / Ntag = 0for i in range(N):if fabs(r[i]-r2[i]) > eps:tag = 1breakfor i in range(N):r2[i] = r[i]t += 1if tag == 0:breakend = time()print r[hash(99)]print 'total iteration is %d' % tprint 'total time is %f' % (end - begin)
0 0
- PageRank算法 python单机实现
- Python实现PageRank算法
- PageRank算法(python实现)
- PageRank算法的python实现
- Python 实现pagerank
- python实现pagerank
- pagerank算法java实现
- PageRank算法并行实现
- java 实现PageRank算法
- PageRank算法并行实现
- PageRank算法实现------MapReduce
- 使用MapReduce实现Pagerank算法
- PageRank算法的实现一
- PageRank算法java实现版本
- PageRank算法java实现版本
- 谷歌pageRank算法简单实现
- PageRank算法的MapReduce实现
- 数据挖掘--pagerank算法实现
- 初学shell,为了练习sed,写了个简单的批量修改文件名的脚本,后来执行时发现系统竟然自带有一个rename命令,顺便也记下了
- Rotate
- Hadoop中的shuffle、partition和combiner
- 数据字典的符号
- 把eclipse大括号向VS一样上下对齐
- PageRank算法 python单机实现
- hadoop1.x的安装与配置(完全分布式)
- 《设计模式》之建造者模式
- android百度地图(二)之定位
- Linux应用环境实战13:我该如何备份系统
- 数组中重复次数最多的元素
- 【每日一点】android 震动
- Opecv Iplimage
- Linux远程备份工具Rsync使用案例