【GNN/深度学习】常用的图数据集(资源包)
【GNN/深度学习】常用的图数据集(图结构)
文章目录
- 【GNN/深度学习】常用的图数据集(图结构)
- 1. 介绍
- 2. 图数据集
- 2.1 Cora
- 2.2 Citeseer
- 2.3 Pubmed
- 2.4 DBLP
- 2.5 ACM
- 2.6 AMAP & AMAC
- 2.7 WIKI
- 2.8 COCS
- 2.9 BAT
- 2.10 EAT
- 2.11 UAT
- 2.12 Corafull
- 3. 如何读取文件
- 4. 下载链接
- 5. 参考
1. 介绍
近年来,深度学习越来越关注图方向的任务,通过利用图神经网络去挖掘现实中各种可以利用图来表示事物(社交网络,论文引用网络,分子结构)等等,来学习更好的表示,去实现下游任务。
- 图数据是由一些点和一些线构成的,能表示一些实体之间的关系,图中的点就是实体,线就是实体间的关系。如下图,v就是顶点,e是边,u是整张图。attrinbutes(feature)是信息的意思,每个点、每条边、每个图都是有信息的。

2. 图数据集
下面我们就来介绍深度学习中常用的图数据集:Cora、Citeseer(Cite)、Pubmed、DBLP、ACM、AMAP、AMAC、Corafull、WIKI、COCS、BAT、EAT、UAT。

每个数据集都包括:
- label(图节点的真实标签)
- feat(图节点的自身属性)
- adj(图结构对应的邻接矩阵)

数据集的下载链接附在后文。
2.1 Cora
Cora数据集包括2708份科学出版物,分为7类。引文网络由5429个链接组成。数据集中的每个出版物都由一个0/1值的词向量描述,表示字典中对应的词是否存在。这本词典由1433个独特的单词组成。
2.2 Citeseer
Citeseer数据集包含3312份科学出版物,分为六类。引文网络由4732个链接组成。数据集中的每个出版物都由一个0/1值的词向量描述,表示字典中对应的词是否存在。这部词典由3703个独特的单词组成。
2.3 Pubmed
Pubmed数据集包括Pubmed数据库中有关糖尿病的19717篇科学论文,分为三类。引文网络由44338个链接组成。数据集中的每个出版物都由字典中的TF/IDF加权词向量描述,该字典由500个唯一的单词组成。
2.4 DBLP
DBLP数据集是来自dblp网站的作者网络。如果是共同作者关系,则两个作者之间有一条边。作者将研究内容分为四个方面:数据库、数据挖掘、机器学习和信息检索。我们根据每个作者提交的会议来标记他们的研究领域。作者特征是由关键字表示的词袋中的元素。
2.5 ACM
这是来自ACM数据集的论文网络。如果两篇论文是同一作者写的,那么两篇论文之间就有一条边。论文特征是关键词的词袋。我们选取在KDD、SIGMOD、SIGCOMM、MobiCOMM上发表的论文,按研究领域分为数据库、无线通信、数据挖掘三类。
2.6 AMAP & AMAC
A-Photo和A-Computers提取自Amazon共购图,其中节点表示产品,边表示两种产品是否经常共购,特征表示用bag-of-words编码的产品评论,标签是预定义的产品类别。
2.7 WIKI
维基百科(WIKI)是由世界各地的志愿者创建和编辑的在线百科全书。该数据集是由整个英文维基百科页面组成的单词共现网络。该数据包含2405个节点,17981条边和19个标签。
2.8 COCS
Coauthor-CS和Coauthor-Physics是基于微软学术图的两个包含合著关系的学术网络。图中的节点表示作者,边表示合著关系。在每个数据集中,作者根据研究领域分别被分为15类和5类,节点特征是论文关键词的词袋表示。
2.9 BAT
数据来自国家民航局(ANAC) 2016年1月至12月。它有131个节点,1038条边(直径为5)。机场活动是由相应年份的降落和起飞总数来衡量的。
2.10 EAT
数据来自欧盟统计局(Eurostat) 2016年1月至11月。它有399个节点,5995条边(直径为5)。机场活动是由相应时期的降落加起飞的总数来衡量的。
2.11 UAT
数据来自美国交通统计局2016年1月至10月。它有1190个节点,13599条边(直径为8)。机场活动是通过相应时期通过机场(到达和离开)的总人数来衡量的。
2.12 Corafull
Corafull数据集包括19793个节点、每个节点含有8710维的表示;并含有63421条边,包含70个类别。
3. 如何读取文件
解压之后,放在项目文件下的dataset下,之后便可以利用如下函数进行读入。
def load_graph_data(dataset_name, show_details=False):"""- Param dataset_name: the name of the datasetshow_details: if show the details of dataset- Return: the features, labels and adj"""load_path = "dataset/" + dataset_name + "/" + dataset_namefeat = np.load(load_path+"_feat.npy", allow_pickle=True)label = np.load(load_path+"_label.npy", allow_pickle=True)adj = np.load(load_path+"_adj.npy", allow_pickle=True)if show_details:print("dataset name: ", dataset_name)print("feature shape: ", feat.shape)print("label shape: ", label.shape)print("adj shape: ", adj.shape)print("undirected edge num: ", int(np.nonzero(adj)[0].shape[0]/2))print("category num: ", max(label)-min(label)+1)print("category distribution: ")for i in range(max(label)+1):print("label", i, end=":")print(len(label[np.where(label == i)]))featur_dim = feat.shape[1]return feat, label, adj
4. 下载链接
图数据集下载链接
5. 参考
【1】https://github.com/yueliu1999/DCRN
相关文章:
【GNN/深度学习】常用的图数据集(资源包)
【GNN/深度学习】常用的图数据集(图结构) 文章目录【GNN/深度学习】常用的图数据集(图结构)1. 介绍2. 图数据集2.1 Cora2.2 Citeseer2.3 Pubmed2.4 DBLP2.5 ACM2.6 AMAP & AMAC2.7 WIKI2.8 COCS2.9 BAT2.10 EAT2.11 UAT2.12 C…...
Clickhouse中bitmap介绍以及计算留存Demo
前言 参考了腾迅的大数据分析-计算留存,能够根据用户自定义属性,以及玩家行为进行留存的计算。最初计算留存的方法使用的是clickhosue自带的rentention函数,使用这个函数不用关注太多细节,只需要把留存条件放入函数即可。但是这个如果需要关联用户属性,就比较麻烦了。因此…...
大数据是什么?学习后能找高薪工作么
大数据是什么,比较官方的定义是指无法在一定时间范围内用常规软件工具进行捕捉、管理和处理的数据集合,是需要新处理模式才能具有更强的决策力、洞察发现力和流程优化能力的海量、高增长率和多样化的信息资产。 简单来说,大数据就是结构化的…...
如何提取视频中的音频转文字?分享提效减负视频转文字方法
最近我在学做短视频,就看了很多博主怎么做视频,像他们的拍摄方法、剪辑角度还有怎么写文案。我一开始只看了一两个博主,写文案时就是边看视频边打字,这视频量少还好,视频多了就觉得这种方法好费时间,感觉一…...
脑机接口科普0018——前额叶切除手术
本文禁止转载!!! 首先说明一下,前额叶切除手术,现在已经不允许做了。 其次,前额叶切除手术,发明这个手术的人居然还获得了诺贝尔奖。太过于讽刺。1949年的那次诺贝尔医学奖(就是我…...
FPGA工程师面试——基础知识
1. 简述FPGA等可编程逻辑器件设计流程 答:系统设计电路构思,设计说明与设计划分, 电路设计与输入(HDL代码、原理图), 功能仿真与测试, 逻辑综合, 门级综合, 逻辑验证与测…...
全国青少年软件编程(Scratch)等级考试一级真题——2019.12
青少年软件编程(Scratch)等级考试试卷(一级)分数:100 题数:37一、单选题(共25题,每题2分,共50分)1.下列关于舞台的描述,不正确的是?( )…...
【Integrated Electronics系列——数字电子技术基础】
目录 序言...
【微信小程序】-- 页面处理总结(三十一)
💌 所属专栏:【微信小程序开发教程】 😀 作 者:我是夜阑的狗🐶 🚀 个人简介:一个正在努力学技术的CV工程师,专注基础和实战分享 ,欢迎咨询! &…...
Spring Batch使用详细例子
Spring Batch 是一个开源的批处理框架,它提供了一种简单的方式来处理大规模的数据处理任务。它基于 Spring 框架,可以与 Spring 的其他组件无缝集成,如 Spring Boot、Spring Data 等。本文将介绍如何使用 Spring Batch 进行批处理任务。 1. 准…...
漏洞预警|Apache Dubbo 存在反序列化漏洞
棱镜七彩安全预警 近日网上有关于开源项目Apache Dubbo 存在反序列化漏洞,棱镜七彩威胁情报团队第一时间探测到,经分析研判,向全社会发起开源漏洞预警公告,提醒相关安全团队及时响应。 项目介绍 Apache Dubbo 是一款 RPC 服务开…...
Tomcat源码分析-spring boot集成tomcat
SPI 在分析源码前,我们先来了解下 spring 的 SPI 机制。我们知道,jdk 为了方便应用程序进行扩展,提供了默认的 SPI 实现(ServiceLoader),dubbo 也有自己的 SPI。spring 也是如此,他为我们提供了…...
一个古老的html后台的模板代码
效果图下: css部分代码:/* CSS Document / body{font-family:“宋体”, Arial,Verdana, sans-serif, Helvetica;font-size:12px;margin:0;background:#f4f5eb;color:#000;} dl,ul,li{list-style:none;} a img{border:0;} a{color:#000;} a:link,a:visit…...
支持向量回归删除异常值Python
1、支持向量回归(SVR)原理 支持向量回归(Support Vector Regression,SVR)不仅可以用于预测,还可以用于异常值检测。其基本思路是训练一个回归模型,通过对每个数据点进行预测,并计算…...
手把手开发一门程序语言JimLang (2)
根据爱因斯坦的相对论,物体的质量越大,时间过得越快,所以托更对于我的煎熬,远远比你们想象的还要痛苦…今天给大家来盘硬菜,也是前些时日预告过的JimLang的开发过程… Let’s go !!! 语法及解析 JimLang.g4 这里我们…...
DSF深度搜索时到底是如何回溯的(小tip)
这一段让我迷了两次,为什么回溯的时候,恢复了最后一位,往上递归一层之后,把最后一位填在它前一位,但是原本的前一位没有恢复,最后一位要怎么办?其实这还是递归没明白 也就是这一步是如何实现的 …...
Rust Web入门(八):打包发布
本教程笔记来自 杨旭老师的 rust web 全栈教程,链接如下: https://www.bilibili.com/video/BV1RP4y1G7KF?p1&vd_source8595fbbf160cc11a0cc07cadacf22951 学习 Rust Web 需要学习 rust 的前置知识可以学习杨旭老师的另一门教程 https://www.bili…...
synchronize优化偏向锁
偏向锁 轻量级锁在没有竞争时(只有自己一个线程),仍然会尝试CAS替换mark word; 会造成一定的性能的损耗; JDK6之中引入了偏向锁进行优化,第一次使用时线程ID注入到Mark word中,之后重入不再进…...
算法习题之动态规划
动态规划习题1 打印n层汉诺塔从最左边移动到最右边的全部过程习题2 给你一个栈,请你逆序这个栈,不能申请额外的数据结构,只能使用递归函数。 如何实现?习题3 打印一个字符串的全部子序列,打印一个字符串的全部子序列,…...
顺序表【数据结构】
文章目录:star2:1. 顺序表概念:star2:2. 框架3. 基本功能3.1 头文件:star:3.2 初始化:star:3.3 扩容:star:3.4 打印:star:3.5 尾插:star:3.6 头插:star:3.7 尾删:star:3.8 头删:star:3.9 指定插入:star:3.10 指定删除:star:3.11 查找:star2:3.12 注意事项4. 顺序表的缺点&#…...
CTF show Web 红包题第六弹
提示 1.不是SQL注入 2.需要找关键源码 思路 进入页面发现是一个登录框,很难让人不联想到SQL注入,但提示都说了不是SQL注入,所以就不往这方面想了 先查看一下网页源码,发现一段JavaScript代码,有一个关键类ctfs…...
多场景 OkHttpClient 管理器 - Android 网络通信解决方案
下面是一个完整的 Android 实现,展示如何创建和管理多个 OkHttpClient 实例,分别用于长连接、普通 HTTP 请求和文件下载场景。 <?xml version"1.0" encoding"utf-8"?> <LinearLayout xmlns:android"http://schemas…...
8k长序列建模,蛋白质语言模型Prot42仅利用目标蛋白序列即可生成高亲和力结合剂
蛋白质结合剂(如抗体、抑制肽)在疾病诊断、成像分析及靶向药物递送等关键场景中发挥着不可替代的作用。传统上,高特异性蛋白质结合剂的开发高度依赖噬菌体展示、定向进化等实验技术,但这类方法普遍面临资源消耗巨大、研发周期冗长…...
OpenPrompt 和直接对提示词的嵌入向量进行训练有什么区别
OpenPrompt 和直接对提示词的嵌入向量进行训练有什么区别 直接训练提示词嵌入向量的核心区别 您提到的代码: prompt_embedding = initial_embedding.clone().requires_grad_(True) optimizer = torch.optim.Adam([prompt_embedding...
根据万维钢·精英日课6的内容,使用AI(2025)可以参考以下方法:
根据万维钢精英日课6的内容,使用AI(2025)可以参考以下方法: 四个洞见 模型已经比人聪明:以ChatGPT o3为代表的AI非常强大,能运用高级理论解释道理、引用最新学术论文,生成对顶尖科学家都有用的…...
Java面试专项一-准备篇
一、企业简历筛选规则 一般企业的简历筛选流程:首先由HR先筛选一部分简历后,在将简历给到对应的项目负责人后再进行下一步的操作。 HR如何筛选简历 例如:Boss直聘(招聘方平台) 直接按照条件进行筛选 例如:…...
AGain DB和倍数增益的关系
我在设置一款索尼CMOS芯片时,Again增益0db变化为6DB,画面的变化只有2倍DN的增益,比如10变为20。 这与dB和线性增益的关系以及传感器处理流程有关。以下是具体原因分析: 1. dB与线性增益的换算关系 6dB对应的理论线性增益应为&…...
Golang——6、指针和结构体
指针和结构体 1、指针1.1、指针地址和指针类型1.2、指针取值1.3、new和make 2、结构体2.1、type关键字的使用2.2、结构体的定义和初始化2.3、结构体方法和接收者2.4、给任意类型添加方法2.5、结构体的匿名字段2.6、嵌套结构体2.7、嵌套匿名结构体2.8、结构体的继承 3、结构体与…...
Vite中定义@软链接
在webpack中可以直接通过符号表示src路径,但是vite中默认不可以。 如何实现: vite中提供了resolve.alias:通过别名在指向一个具体的路径 在vite.config.js中 import { join } from pathexport default defineConfig({plugins: [vue()],//…...
离线语音识别方案分析
随着人工智能技术的不断发展,语音识别技术也得到了广泛的应用,从智能家居到车载系统,语音识别正在改变我们与设备的交互方式。尤其是离线语音识别,由于其在没有网络连接的情况下仍然能提供稳定、准确的语音处理能力,广…...
