| 符号 | 含义 |
|---|---|
| 整个图的点集 | |
| 训练集 | |
| 测试集 | |
| 有监督的点集 | |
| 无监督的点集 | |
| 整个图的节点数 | |
| 训练集节点数 | |
| 测试集节点数 | |
| 有监督的节点数 | |
| 无监督的节点数 | |
| 每个节点的特征数 | |
| 分类的类数(此问题中是2) |
所有节点被划分为训练集和测试集,即$V=V_{train}\cup V_{test}$。训练集用于训练模型,测试集用于评估模型。
其中训练集中节点被划分为有监督和无监督,即$V_{train}=V_s\cup V_u$。有监督的节点数应当远少于训练集的总节点数,即$N_s<<N_{train}$。所有节点都有标签,无监督的节点和测试集的标签用于评估模型。
输入包含x,tx,allx,y,ty,ally,graph,test.index,它们可以被分为:
- 特征矩阵
- 标签矩阵
- 邻接矩阵
- 索引集合
特征矩阵的每一行表示一个节点,每一列表示一个特征。
所有特征矩阵的类型均为scipy.sparse.csr.csr_matrix。
- x是一个$N_s\times F$的矩阵,表示有监督节点的特征矩阵
- tx是一个$N_{test}\times F$的矩阵,表示测试集的特征矩阵
- allx是一个$N_{train}\times F$的矩阵,表示训练集的特征矩阵
标签矩阵的每一行表示一个节点,每一列表示一个分类。
所有标签矩阵的类型均为numpy.ndarray。
- y是一个$N_s\times C$的矩阵,表示有监督节点的标签矩阵
- ty是一个$N_{test}\times C$的矩阵,表示测试集的标签矩阵
- ally是一个$N_{train}\times C$的矩阵,表示训练集的标签矩阵
邻接矩阵的$(i, j)$号元素表示节点$i$与节点$j$之间的边权。 邻接矩阵的类型为字典。 graph是一个$N\times N$的矩阵,表示整个图的邻接矩阵。
test.index是一个包含$N_{test}$个元素的集合,表示测试集中所有节点的索引值。
所有的输入文件按照上述命名,存放在gcn/data目录下。
其中特征矩阵、标签矩阵、邻接矩阵用pickle存放,test.index直接将数据用换行符分隔存放。