【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. 顺序表的缺点&#…...

手游刚开服就被攻击怎么办?如何防御DDoS?
开服初期是手游最脆弱的阶段,极易成为DDoS攻击的目标。一旦遭遇攻击,可能导致服务器瘫痪、玩家流失,甚至造成巨大经济损失。本文为开发者提供一套简洁有效的应急与防御方案,帮助快速应对并构建长期防护体系。 一、遭遇攻击的紧急应…...
synchronized 学习
学习源: https://www.bilibili.com/video/BV1aJ411V763?spm_id_from333.788.videopod.episodes&vd_source32e1c41a9370911ab06d12fbc36c4ebc 1.应用场景 不超卖,也要考虑性能问题(场景) 2.常见面试问题: sync出…...

VB.net复制Ntag213卡写入UID
本示例使用的发卡器:https://item.taobao.com/item.htm?ftt&id615391857885 一、读取旧Ntag卡的UID和数据 Private Sub Button15_Click(sender As Object, e As EventArgs) Handles Button15.Click轻松读卡技术支持:网站:Dim i, j As IntegerDim cardidhex, …...

[10-3]软件I2C读写MPU6050 江协科技学习笔记(16个知识点)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16...
反射获取方法和属性
Java反射获取方法 在Java中,反射(Reflection)是一种强大的机制,允许程序在运行时访问和操作类的内部属性和方法。通过反射,可以动态地创建对象、调用方法、改变属性值,这在很多Java框架中如Spring和Hiberna…...
iOS性能调优实战:借助克魔(KeyMob)与常用工具深度洞察App瓶颈
在日常iOS开发过程中,性能问题往往是最令人头疼的一类Bug。尤其是在App上线前的压测阶段或是处理用户反馈的高发期,开发者往往需要面对卡顿、崩溃、能耗异常、日志混乱等一系列问题。这些问题表面上看似偶发,但背后往往隐藏着系统资源调度不当…...

认识CMake并使用CMake构建自己的第一个项目
1.CMake的作用和优势 跨平台支持:CMake支持多种操作系统和编译器,使用同一份构建配置可以在不同的环境中使用 简化配置:通过CMakeLists.txt文件,用户可以定义项目结构、依赖项、编译选项等,无需手动编写复杂的构建脚本…...
k8s从入门到放弃之HPA控制器
k8s从入门到放弃之HPA控制器 Kubernetes中的Horizontal Pod Autoscaler (HPA)控制器是一种用于自动扩展部署、副本集或复制控制器中Pod数量的机制。它可以根据观察到的CPU利用率(或其他自定义指标)来调整这些对象的规模,从而帮助应用程序在负…...

保姆级【快数学会Android端“动画“】+ 实现补间动画和逐帧动画!!!
目录 补间动画 1.创建资源文件夹 2.设置文件夹类型 3.创建.xml文件 4.样式设计 5.动画设置 6.动画的实现 内容拓展 7.在原基础上继续添加.xml文件 8.xml代码编写 (1)rotate_anim (2)scale_anim (3)translate_anim 9.MainActivity.java代码汇总 10.效果展示 逐帧…...

6.9-QT模拟计算器
源码: 头文件: widget.h #ifndef WIDGET_H #define WIDGET_H#include <QWidget> #include <QMouseEvent>QT_BEGIN_NAMESPACE namespace Ui { class Widget; } QT_END_NAMESPACEclass Widget : public QWidget {Q_OBJECTpublic:Widget(QWidget *parent nullptr);…...