cora数据集示例项目学习图神经网络

GNN常用数据集之Cora数据集 在学习图神经网络 GNN 之前,必然要了解一些GNN的常用数据集,这篇博客主要以Cora数据集为例介绍GNN的数据集格式与读取方式,并以一个项目实例进行说明。 GNN常用数据集:https://linqs.soe.ucsc.edu/data 1. Cora数据集介绍 Cora数据集下载地址:https://linqs-data.soe.ucsc.edu/public/lbc/cora.tgz 以... 阅读详情

下面所有博客是个人对EEG脑电的探索,项目代码是早期版本不完整,需要完整项目代码和资料请私聊。


数据集
1、脑电项目探索和实现(EEG) (上):研究数据集选取和介绍SEED
相关论文阅读分析:
1、EEG-SEED数据集作者的—基线论文阅读和分析
2、图神经网络EEG论文阅读和分析:《EEG-Based Emotion Recognition Using Regularized Graph Neural Networks》
3、EEG-GNN论文阅读和分析:《EEG Emotion Recognition Using Dynamical Graph Convolutional Neural Networks》
4、论文阅读和分析:Masked Label Prediction: Unified Message Passing Model for Semi-Supervised Classification
5、论文阅读和分析:《DeepGCNs: Can GCNs Go as Deep as CNNs?》
6、论文阅读和分析: “How Attentive are Graph Attention Networks?”
7、论文阅读和分析:Simplifying Graph Convolutional Networks
8、论文阅读和分析:LightGCN: Simplifying and Powering Graph Convolution Network for Recommendation
9、图神经网络汇总和总结
相关实验和代码实现:
1、用于图神经网络的脑电数据处理实现_图神经网络 脑电
2、使用GCN训练和测试EEG的公开SEED数据集
3、使用GAT训练和测试EEG公开的SEED数据集
4、使用SGC训练和测试SEED数据集
5、使用Transformer训练和测试EEG的公开SEED数据集_eeg transformer
6、使用RGNN训练和测试EEG公开的SEED数据集
辅助学习资料:
1、官网三个简单Graph示例说明三种层次的应用_graph 简单示例
2、PPI数据集示例项目学习图神经网络
3、geometric库的数据处理详解
4、NetworkX的dicts of dicts以及解决Seven Bridges of Königsberg问题
5、geometric源码阅读和分析:MessagePassin类详解和使用
6、cora数据集示例项目学习图神经网络
7、Graph 聚合
8、QM9数据集示例项目学习图神经网络
9、处理图的开源库

部分代码如下:

cora数据集:

Cora数据集包含2708篇科学出版物, 5429条边,总共7种类别。数据集中的每个出版物都由一个 0/1 值的词向量描述,表示字典中相应词的缺失/存在。 该词典由 1433 个独特的词组成。意思就是说每一个出版物都由1433个特征构成,每个特征仅由0/1表示。

数据集组成:

  • ind.cora.x : 训练集节点特征向量,保存对象为:scipy.sparse.csr.csr_matrix,实际展开后大小为: (140, 1433)
  • ind.cora.tx : 测试集节点特征向量,保存对象为:scipy.sparse.csr.csr_matrix,实际展开后大小为: (1000, 1433)
  • ind.cora.allx : 包含有标签和无标签的训练节点特征向量,保存对象为:scipy.sparse.csr.csr_matrix,实际展开后大小为:(1708, 1433),可以理解为除测试集以外的其他节点特征集合,训练集是它的子集
  • ind.cora.y : one-hot表示的训练节点的标签,保存对象为:numpy.ndarray
  • ind.cora.ty : one-hot表示的测试节点的标签,保存对象为:numpy.ndarray
  • ind.cora.ally : one-hot表示的ind.cora.allx对应的标签,保存对象为:numpy.ndarray
  • ind.cora.graph : 保存节点之间边的信息,保存格式为:{ index : [ index_of_neighbor_nodes ] }
  • ind.cora.test.index : 保存测试集节点的索引,保存对象为:List,用于后面的归纳学习设置。

读开源代码实现:

import argparse
import os.path as osp

import torch
import torch.nn.functional as F

import torch_geometric.transforms as T
from torch_geometric.datasets import Planetoid
from torch_geometric.logging import init_wandb, log
from torch_geometric.nn import GATConv

parser = argparse.ArgumentParser()
parser.add_argument('--dataset', type=str, default='Cora')
parser.add_argument('--hidden_channels', type=int, default=8)
parser.add_argument('--heads', type=int, default=8)
parser.add_argument('--lr', type=float, default=0.005)
parser.add_argument('--epochs', type=int, default=200)
parser.add_argument('--wandb', action='store_true', help='Track experiment')
args = parser.parse_args()

device = torch.device('cuda' if torch.cuda.is_available() else 'cpu')
init_wandb(name=f'GAT-{args.dataset}', heads=args.heads, epochs=args.epochs,
           hidden_channels=args.hidden_channels, lr=args.lr, device=device)

path = osp.join(osp.dirname(osp.realpath(__file__)), '..', 'data', 'Planetoid')
dataset = Planetoid(path, args.dataset, transform=T.NormalizeFeatures())
data = dataset[0].to(device)


class GAT(torch.nn.Module):
    def __init__(self, in_channels, hidden_channels, out_channels, heads):
        super().__init__()
        self.conv1 = GATConv(in_channels, hidden_channels, heads, dropout=0.6)# out==8*8
        # On the Pubmed dataset, use `heads` output heads in `conv2`.
        self.conv2 = GATConv(hidden_channels * heads, out_channels, heads=1,
                             concat=False, dropout=0.6)

    def forward(self, x, edge_index):
        x = F.dropout(x, p=0.6, training=self.training)#(2708, 1433)
        x = F.elu(self.conv1(x, edge_index)) #(2708, 64) 64=8*8,8是因为 head==8注意力;
        x = F.dropout(x, p=0.6, training=self.training)#(2708, 64)
        x = self.conv2(x, edge_index)#(2708, 7) 总共7类;
        return x


model = GAT(dataset.num_features, args.hidden_channels, dataset.num_classes,
            args.heads).to(device)
optimizer = torch.optim.Adam(model.parameters(), lr=0.005, weight_decay=5e-4)


def train():
    model.train()
    optimizer.zero_grad()
    out = model(data.x, data.edge_index)
    loss = F.cross_entropy(out[data.train_mask], data.y[data.train_mask])
    loss.backward()
    optimizer.step()
    return float(loss)


@torch.no_grad()
def test():
    model.eval()
    pred = model(data.x, data.edge_index).argmax(dim=-1)

    accs = []
    for mask in [data.train_mask, data.val_mask, data.test_mask]:
        accs.append(int((pred[mask] == data.y[mask]).sum()) / int(mask.sum()))
    return accs


best_val_acc = final_test_acc = 0
for epoch in range(1, args.epochs + 1):
    loss = train()
    train_acc, val_acc, tmp_test_acc = test()
    if val_acc > best_val_acc:
        best_val_acc = val_acc
        test_acc = tmp_test_acc
    log(Epoch=epoch, Loss=loss, Train=train_acc, Val=val_acc, Test=test_acc)

参考:

【数据集介绍】Cora数据集介绍_一穷二白到年薪百万的博客-优快云博客_cora数据集

GitHub - pyg-team/pytorch_geometric: Graph Neural Network Library for PyTorch

GCN实战深入浅出图神经网络第五章:基于Cora数据集的GCN节点分类 代码分析 GCN实战深入浅出图神经网络第五章:基于Cora数据集的GCN节点分类 代码分析 文章目录GCN实战深入浅出图神经网络第五章:基于Cora数据集的GCN节点分类 代码分析SetUp,库声明数据准备图卷积层定义模型定义模型训练 SetUp,库声明 In [2]: import itertools import os import os.path as osp import pickle import urllib from collections import namedtuple import numpy 阅读详情

相关推荐

GNN图神经网络常用数据集总结

图神经网络(Graph Neural Network,GNN)是一种新兴的神经网络模型,适用于处理图数据。与传统的神经网络模型不同,GNN 能够有效地捕捉节点之间的结构信息和关系,并对节点进行精准的分类、聚类和预测分析。因此,GNN 在社交网络、生物信息学、推荐系统、物联网等领域得到了广泛的应用。为了研究和评估 GNN 的性能,需要使用各种不同类型的数据集。这些数据集包含了不同领域的实际问题,例如社交网络中的用户关系、生物学中的蛋白质分子结构、推荐系统中的用户行为等。

争取早日成为硅农 3万+

GNN之节点分类任务—Cora数据集分类(半监督)

GNN之节点分类任务—Cora数据集分类(半监督)

☆下山☆的博客 4099

【机器学习】基于图注意力网络(GAT)的Cora数据集论文主题预测

GAT模型是图神经网络的重要分支,通过引入注意力机制来捕捉图中节点间的复杂关系。实验表明,GAT在节点分类任务中取得了显著效果。未来,通过调整模型参数、优化预处理步骤和引入正则化技术,GAT模型的性能有望进一步提升。其高度的灵活性和可扩展性使其适用于各种图相关任务。随着图神经网络研究的深入,GAT模型将在处理复杂图数据方面展现出更广阔的应用前景。

MUKAMO的博客 3172

图神经网络:(节点分类)Cora数据集实现图神经网络

图神经网路:在Cora上动手实现图神经网络

zhishichengjin的博客 3845

图神经网络实战(5)——常用图数据集

Cora 和 Facebook Page-Page 是图神经网络领域中经常使用的两个基准图数据集,通常用来比较不同模型的性能。在本节中,介绍了如何使用 PyTorch Geometric 库提供的数据集类加载 Cora 和 Facebook Page-Page 数据集,并探索了两个数据集的主要特征。

盼小辉丶的博客 1万+

CORA 数据集 精美可视化+详解 番外篇:PyG框架及Cora数据集简介Obifold Consulting

CORA 数据集Cora 数据集包含 2708 份科学出版物,分为七类之一。引文网络由 5429 个链接组成。数据集中的每个出版物都由 0/1 值词向量描述,指示词典中相应词的不存在/存在。该词典由 1433 个独特单词组成。该数据集是图学习中的 MNIST 等价物,我们在其他文章的功能中明确地探索它,一次又一次地使用该数据集作为测试平台。下载并解压,以这edgelist是一个简单的表格,其中source引用了target因此一个节点是每个节点都有一个subject5行×1434列。

具身机器人和通用AI 4577

基于Pyg实现GCN对Cora数据集的分类任务

Cora 数据集由机器学习论文组成,是近年来图深度学习很喜欢使用的数据集。基于案例遗传算法神经网络概率方法强化学习规则学习理论论文的选择方式是,在最终语料库中,每篇论文至少引用一篇论文或被至少一篇论文引用(即至少有一条出边或至少有一条入边,也就是样本点之间存在联系,没有任何一个样本点与其他样本点完全没联系。如果将样本点看做图中的点,则这是一个连通的图,不存在孤立点)。整个语料库中有2708篇论文。

nobugnomoney的博客 1076

图卷积神经网络GCN经典案例,CORA数据集,分类任务,纯pytoch编写,注释清晰,可视化直观感受

图卷积神经网络GCN是图神经网络GNN的一种,其实理解起来也不难。当然最好的学习方法是从一个经典案例开始。CORA数据集是分类任务的一个经典案例,已知一篇论文的特性,求出它是属于哪种类型的论文。代码纯pytoch框架编写,注释清晰,可视化让你直观感受GCN的训练过程,以及训练效果。

【论文学习】Adversarial Examples on Graph Data: Deep Insights into Attack and Defense论文学习

摘要 类似GCN这样的图深度学习模型近几年咋一些图数据任务上取得了很好的效果。与其他的深度学习模型类似,图深度学习模型通常也会遭受到对抗攻击。但是,跟非图数据相比,图数据中的离散特征,图连接以及对于扰动的不可感知的不同定义给图对抗攻击带来了许多挑战。在这篇文章中,作者提出了攻击和防御的方法。在攻击的时候,作者发现图数据的这些离散特性可以通过引入连续梯度来解决。这个连续梯度可以反映出对图中的某一条边或者某一个特征做干扰带来的影响(注意,这里的特征也必须是离散的)。在做防御的时候,作者发现通过对抗攻击得到的图跟

qq_38391210的博客 3831

OpenFOAM高效学习路线:如何用B站+东岳流体3个月掌握CFD仿真

本文分享了一套高效的OpenFOAM学习路线,结合B站视频、东岳流体教程和官方文档,帮助在职工程师在3个月内掌握CFD仿真技术。通过渐进式学习计划和案例训练,从基础到实战,快速提升独立建模能力。

weixin_29202213的博客 319

Xilinx IP库在Modelsim/Questasim中的高效仿真实践

本文详细介绍了在Modelsim/Questasim中高效仿真Xilinx FPGA设计的核心方法。针对仿真时常见的IP核缺失错误,重点解析了两种主流解决方案:使用Vivado的compile_simlib命令自动编译完整仿真库,以及利用export_simulation命令为特定工程生成仿真脚本。文章还提供了手动配置库的深入理解、实战排错步骤及高级避坑指南,帮助用户构建稳定、高效的独立仿真环境。

sony5的博客 1230

图注意力网络(GAT)项目安装与配置指南

图注意力网络(Graph Attention Networks,GAT)是一种用于图表示学习的神经网络架构。本项目提供了GAT层的实现,以及使用该层的一个简单示例,该示例基于Cora数据集。该项目主要使用TensorFlow编程语言编写。 ## 2. 关键技术和框架 本项目使用的关键技术是图注意力机制,它是图神经网络(Graph Neural Networks,GNNs)的一个重要组成部分。图...

gitblog_00791的博客 809

Google AdSense收款前必做:W-8BEN税务认证的3个关键选择与1个提交时机小技巧

本文深入解析Google AdSense收款前必须完成的W-8BEN税务认证,重点介绍账号类型选择、特殊税率勾选、美国活动界定等3个关键决策,并分享提交时机的小技巧,帮助站长高效通过审核,确保广告收入顺利到账。

weixin_30443731的博客 671

【数据集介绍】Cora数据集介绍

  在做深度学习任务时,刚入手一个模型用到的一般是经典数据集。而且在模型中都集成好了,不需要做过多的处理。但是,在使用模型跑自己数据集时候,我们就必须了解模型的输入输出是什么。因此,对标准数据集是啥样的必须要掌握。在这里介绍一个Cora引文数据集: [1]图数据集之cora数据集介绍 — 适用于GCN任务 [2]8/27 图数据集之cora数据集 ...

sxl的博客 3万+

Synopsys工具filter命令:从数据筛选到高效IC设计的实战指南

在数字集成电路设计流程中,数据筛选与查询是工程师处理海量网表、时序报告和设计约束的核心需求。其原理在于通过声明式查询语言,直接对设计对象(如单元、网络、路径)的属性进行逻辑判断与模式匹配,从而精准定位目标。这种技术价值在于将工程师从繁琐的过程式脚本循环中解放出来,大幅提升代码可读性与运行效率,直接调用工具内置的高性能查询引擎。在实际应用场景中,它广泛用于物理与时序联合分析、层次化模块操作、动态约束生成以及自动化报告生成。本文聚焦于Synopsys工具链中filter命令的高阶用法,深入解析其表达式语法、正则

weixin_28007513的博客 577

c# 开发串口调试助手 Visual Studio 2019

串口调试助手是用于在开发、测试和调试串口通信应用程序时进行串口数据的监视和交互的工具。

2301_76792852的博客 8060

【PYG】Cora数据集简介

通过Planetoid类加载 Cora 数据集,并对特征进行归一化,可以快速方便地准备数据,进行节点分类等任务。PyTorch Geometric 提供的工具使得处理图结构数据变得简单和高效,有助于我们在实际应用中充分利用图神经网络的强大能力。

Never Give Up 3125

ENSP Pro VXLAN EVPN分布式网关部署配置

在BGP EVPN方式部署分布式网关的场景中,控制平面的流程包括VXLAN隧道建立、MAC地址动态学习;转发平面的流程包括同子网已知单播报文转发、同子网BUM报文转发、跨子网报文转发。该方式实现的功能全面,支持主机IP路由通告、主机MAC地址通告、主机ARP通告,可以直接使能ARP广播抑制功能。如果在VXLAN网络中采用分布式网关,推荐使用此方式。对比集中式网关,分布式网关的arp条目比集中式网关的arp条目少,分布式网关只学习租户侧的arp条目,不学习网络侧的arp条目。

qq2353177176的博客 4560

【Intro】Cora数据集介绍

假设我们有一个单一的图(如:Cora),将一些节点(而不是图)分成训练/验证/测试训练集。重点是——此处不是在使用它们的标签信息(没有使用节点的feature),而是在使用它们的结构信息和特征。基本问题是,虽然图像位于规则网格上(你也可以将其视为图形),因此具有精确的顺序概念,但图不享受这种良好的属性,邻居的数量以及邻居的顺序。事实证明,将注意力的想法与已经存在的图形卷积网络(GCN)结合起来是一个很好的举动🤓- GAT是GNN文献中被引用次数第二多的论文(截至该notebook撰写时)。

Karen_Yu_的博客 3031

无刷电机FOC硬件电路设计

本文先对MIT无刷电机FOC硬件电路分析做个简单的介绍,具体内容后续再更,其他模块可以参考去我其他文章软件程序在我另外一个博客【嵌入式–伺服电机】MIT无刷电机FOC驱动程序分析。

qq_35635374的博客 574

【大语言模型 21】语言模型训练目标:MLM vs CLM vs GLM对比分析

本文深入对比分析三种主流语言模型训练目标:掩码语言模型(MLM)、因果语言模型(CLM)和双空白填充(GLM)。通过数学推导、代码实现和实验对比,揭示不同训练目标的工作机制、适用场景和性能差异,为选择合适的预训练策略提供科学指导。

熵数实验室 1176

【图神经网络基础】认识数据集--同质数据集Cora

Cora数据集由学术论文组成,每篇论文被视为一个节点,引用关系被视为边。该数据集包含七个类别的论文,每个节点都带有特征向量和标签。数据集的主要任务是根据节点的特征和图结构对节点进行分类。

BetrayFree的博客 2215

ssm框架搭建

这个是一个在idea上成功跑起来的ssm框架项目,保存在这里方便以后使用直接下载

图数据集Planetoid御三家:Cora,CiteSeer,PubMed详解

本文介绍经典图数据集:Cora,CiteSeer,PubMed

诸神缄默不语的博客 2万+

SIMATIC S7-1200, S7-1500 PID 控制[手册]

SIMATIC S7-1200, S7-1500 PID 控制[手册]

Outlook Express 6 (OE6) for Win7/Win8/Win10

英文版 Outlook Express6.0, 兼容Win7/Win10/WinXP,解压就可用。

Cora数据集

在使用Cora数据集时,通常需要进行一些预处理工作,例如文本的标记化(Tokenization)、词袋模型的构建、图网络的表示等。研究者可以选择将文本信息和引用网络结合起来,以便在模型训练中充分利用这两方面的信息。研究者可以利用该数据集开发算法,探索如何更好地利用文本信息和引用网络结构来进行论文分类。Cora数据集包含了一个文献网络,其中节点表示论文,边表示引用关系。Cora数据集是一个用于文献学术论文分类的常用数据集,主要用于机器学习和自然语言处理研究。边表示论文之间的引用关系,构成了一个引用网络。

chen的博客 1565

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

【PYG】简单验证GCN结合Cora数据集

Cora 数据集由 2708 篇科学出版物组成,这些出版物被分为 7 个类别。节点代表论文,边代表引用关系。每个节点有一个 1433 维的特征向量,表示论文的词袋模型(Bag of Words),特征向量中的每个维度表示某个词汇是否出现在论文中。

Never Give Up 2230

图神经网络学习——图节点分类(Cora数据集)

Cora数据集是一个常用的学术文献引文网络数据集,用于研究文献分类或文献引用关系分析的机器学习任务。该数据集包含了一个关于机器学习领域的学术文献引文网络,以及每篇文献的内容特征和标签信息。由于Cora数据集的规模适中且包含丰富的信息,因此成为了学术界常用的基准数据集之一。:边表示文献之间的引用关系,如果文献A引用了文献B,那么在数据集中会有一条从节点A指向节点B的边。:每个节点还包含了关于文献内容的特征,通常是词袋模型中每个单词的出现情况。:Cora数据集中的节点代表学术文献,每个节点有一个唯一的ID。

Daomiyo的博客 6542
上一篇: 使用Transformer训练和测试EEG的公开SEED数据集
下一篇: Graph 聚合
KPer_Yang
博客等级 码龄5年 281粉丝 181原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

KPer_Yang

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值