Пример #1
0
from Retriever import Retriever
R = Retriever()

# pagerank updates for random names
res = R.fetch_objects(size=1000)
print(res.keys())

n_iterations = 10000
d = 0.7
n = float(len(res.keys()))

for i in range(n_iterations):
    # for each name...
    for k, v in res.items():

        # calculate pagerank...
        updated_prob = (1 - d) * 1 / n

        # ...by inspecting its parents
        for parent_node in v.parents:
            # parents with high pageranks but few outbound are best
            updated_prob += d * (parent_node.pagerank) / parent_node.n_children

        # update node's pagerank
        v.update_pagerank(updated_prob)

    if i % (n_iterations / 5) == 0:
        print("iteration", i)

R.put_objects(res)