def main(filename, type, constructed_graph = -1):
# 1. original graph
original_graph_path = os.path.join("data",filename,"")
original_graph = generate_graph(original_graph_path,filename,-1)
plt.figure("original graph degree distribution")
draw_degree(original_graph)
print('original edge number: ',len(original_graph.edges()))
# 2. reconstruct graph
if constructed_graph == -1:
reconstruct_graph_path = os.path.join("reconstruction", filename, type,"")
reconstruct_graph_adj = pickle.load(open(glob.glob(reconstruct_graph_path+"*.adj")[0],'rb'))
else:
reconstruct_graph_adj = constructed_graph
reconstruct_graph = adj2Graph(reconstruct_graph_adj, edgesNumber = len(original_graph.edges()))
print('edge number: ', len(reconstruct_graph.edges()))
plt.figure("reconstruct graph degree distribution")
draw_degree(reconstruct_graph)
print("Clustering: ",nx.average_clustering(original_graph), ' ', nx.average_clustering(reconstruct_graph))
# print("Diameter: ", nx.average_shortest_path_length(original_graph), ' ', nx.average_shortest_path_length(reconstruct_graph))
# print("degree centrality: ", nx.degree_centrality(original_graph), ' ', nx.degree_centrality(reconstruct_graph))
#print("closeness centrality: ", nx.closeness_centrality(original_graph), ' ', nx.closeness_centrality(reconstruct_graph))
plt.show()
评论列表
文章目录