【图神经网络 || GNN】图相关的基本知识代码
·
图相关的基本知识代码
# -*- encoding: utf-8 -*-
# @time: 2022/2/10 12:51
# @author: chenTao
# @file: Graph_basic.py
import numpy as np
import pandas as pd
import networkx as nx
edges = pd.DataFrame()
edges['sources'] = [1,1,1,2,2,3,3,4,4,5,5,5]
edges['targets'] = [2,4,5,3,1,2,5,1,5,1,3,4]
edges['weights'] = [1,1,1,1,1,1,1,1,1,1,1,1]
G = nx.from_pandas_edgelist(edges,source='sources',target='targets',edge_attr='weights')
#degree
print(nx.degree(G))
#连通分量
print(list(nx.connected_components(G)))
#图直径
print(nx.diameter(G))
#度中心性 = (N_degree)/(n-1);n图中结点数量
print(nx.degree_centrality(G))
#特征向量中心性 A*x= 入*x
#第一,按照公式求出特征值和特征向量, 选择具有最大特征值对应的特征向量
# 该特征向量对应的每个值就是对应节点的特征向量中心性
print(nx.eigenvector_centrality(G))
# 中介中心性 betweenness = (经过该节点的最短路径的条数之和 )/(其余两两节点的最短路径 )
#分母不是最短路径而是其余两两节点的组合情况,比如A到其余四个节点四种组合,一共有五个这样的节点 就是四乘五
print(nx.betweenness_centrality(G))
#closeness
print(nx.closeness_centrality(G))
#pagerank
print(nx.pagerank(G))
#HITS
print(nx.hits(G))
注:




魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。
更多推荐



所有评论(0)