简介

  在做深度学习任务时,刚入手一个模型用到的一般是经典数据集。而且在模型中都集成好了,不需要做过多的处理。但是,在使用模型跑自己数据集时候,我们就必须了解模型的输入输出是什么。因此,对标准数据集是啥样的必须要掌握。在这里介绍一个Cora引文数据集:
  Cora数据集包含2708篇科学出版物, 5429条边,总共7种类别。数据集中的每个出版物都由一个 0/1 值的词向量描述,表示字典中相应词的缺失/存在。 该词典由 1433 个独特的词组成。意思就是说每一个出版物都由1433个特征构成,每个特征仅由0/1表示。

数据集说明

这个数据集是经过预处理的:

  1. 数据集来源: Revisiting Semi-Supervised Learning with Graph Embeddings
  2. github下载地址: planetoid
  3. 原始版本下载:http://www.cs.umd.edu/~sen/lbc-proj/LBC.html

数据集内容

数据集包含以下文件:

  • 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,用于后面的归纳学习设置。

数据集注意事项

需要说明有以下几点:

1)为什么训练集节点数这么少,只有140个节点?

答:用的训练集越少,取得的效果越好,说明自己的方法越好。

(ps:你用这么少的训练集,我如果用的比你多,即使最后准确率也比你高,也没法说我方法比你更好,因为有两个变量:训练集大小和模型。)

(ps:这是因为最初的那个人用的少,后面的人为了对比,只能用这么大的训练集。一个字:卷。)

2)为什么训练集(140)+测试集节点数(1000) != 所有节点数 (2708) ?

答:训练集为什么这么少,问题1已经解答;测试集估计是为了凑整数,用了1000。

3)剩下的节点去哪了?

答:ind.cora.allx文件, 有没有发现测试集节点加上这个文件的节点数正好为2708。 ind.cora.allx + ind.cora.tx = all (2708)。不过不用担心节点浪费的问题, 因为训练的时候是将整张图都输入进去的,所有的节点都会参与训练过程,唯一的区别就是,训练的时候只用训练集节点去更新梯度,其他节点仅作为特征。

参考文献

[1]图数据集之cora数据集介绍 — 适用于GCN任务
[2]8/27 图数据集之cora数据集
[3]Cora 数据集介绍
[4]图网络相关数据集

Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐