基于图神经网络的节点表征学习
通过节点分类任务来比较MLP和GCN,GAT(两个知名度很高的图神经网络)三者的节点表征学习能力
一、加载数据
from torch_geometric.datasets import Planetoid
from torch_geometric.transforms import NormalizeFeatures
dataset = Planetoid(root='./dataset', name='Cora',transform=NormalizeFeatures())
print()
print(f'Dataset: {
dataset}:')
print('======================')
print(f'Number of graphs: {
len(dataset)}')
print(f'Number of features: {
dataset.num_features}')
print(f'Number of classes: {
dataset.num_classes}')
data = dataset[0] # Get the first graph object.
print()
print(data)
print('======================')
# Gather some statistics about the graph.
print(f'Number of nodes: {
data.num_nodes}')
print(f'Number of edges: {
data.num_edges}')
print(f'Average node degree: {
data.num_edges /data.num_nodes:.2f}')
print(f'Number of training nodes:{
data.train_mask.sum()}')
print(f'Training node label rate:{
int(data.train_mask.sum()) / data.num_nodes:.2f}')
print(f'Contains isolated nodes:{
data.contains_isolated_nodes()}')
print(

该博客对比了MLP和两种图神经网络(GCN和GAT)在节点分类任务上的表现。在Cora数据集上,通过训练和测试损失以及准确率,展示了GCN相对于MLP的优越性,GCN达到了更高的测试准确性。
最低0.47元/天 解锁文章
1947

被折叠的 条评论
为什么被折叠?



