资源简介
基于Python实现的Pagerank算法 算法结果输出复杂网络中每个节点的重要性
代码片段和文件信息
# -*- coding: UTF-8 -*-
“““
Created on 17-12-3
@summary: python 实现PageRank算法
@author: dreamhome
“““
import networkx as nx
def read_graph_from_file(path):
“““
:param path: 从文件中读取图结构
:return: Graph graph
“““
# 定义图
graph = nx.Graph()
# 获取边列表edges_list
edges_list = []
# 开始获取边
fp = open(path)
edge = fp.readline().split()
while edge:
if edge[0].isdigit() and edge[1].isdigit():
edges_list.append((int(edge[0]) int(edge[1])))
edge = fp.readline().split()
fp.close()
# 为图增加边
graph.add_edges_from(edges_list)
return graph
def pagerank(graph damping_factor max_iterations delta):
“““
pagerank算法
:param path: 图
:param damping_factor: 阻尼系数
:param max_iterations: 最大迭代次数
:param delta: 算法终止条件
:return: 返回每个节点的重要性
“““
# 获取图属性
nodes = graph.nodes()
graph_size = graph.number_of_nodes()
# 每个节点赋予初始PR值
page_rank = dict.fromkeys(nodes 1.0 / graph_size)
- 上一篇:Pydicom用法简介
- 下一篇:基于python的猜单词游戏开发
评论
共有 条评论