Files
ailearning/src/python/16.RecommenderSystems/test_graph-based.py
jiangzhonglian 9448063ab2 更新文件名
2017-06-05 11:50:16 +08:00

18 lines
467 B
Python

def PersonalRank(G, alpha, root):
rank = dict()
rank = {x:0 for x in G.keys()}
rank[root] = 1
for k in range(20):
tmp = {x:0 for x in G.keys()}
for i, ri in G.items():
for j, wij in ri.items():
if j not in tmp:
tmp[j] = 0
tmp[j] += 0.6 * rank[i] / (1.0 * len(ri))
if j == root:
tmp[j] += 1 - alpha
rank = tmp
return rank