目录

计图比赛热身赛解决方案(节点分类)

基于 JittorGeometric 的节点分类热身赛解决方案,使用 GRAND + GCNII 集成方法在 Cora 数据集上进行节点分类。


1. 环境安装

Python 版本:3.8+

# 安装 Jittor
pip install jittor

# 安装依赖
pip install -r requirements.txt

若需从源码安装 JittorGeometric:

pip install -e .

2. 数据准备

cora.pkl 放置于 data/ 目录:

data/
    cora.pkl

cora.pkl 字段说明:

字段 类型 说明
x numpy (2708, 1433) 节点特征矩阵
y numpy (2708,) 节点标签(测试集为 -1)
edge_index numpy (2, E) 边列表
train_mask bool (2708,) 训练集掩码
val_mask bool (2708,) 验证集掩码
test_mask bool (2708,) 测试集掩码
num_classes int 类别数(7)
num_features int 特征维度(1433)

3. 训练

bash scripts/run_grand.sh

# 或直接调用
python src/train_grand.py --data_dir ./data --output_dir ./outputs --num_seeds 20

输出文件保存至 outputs/ 目录。


4. 推理 / 结果文件

训练完成后自动推理并保存结果:

输出路径 格式
outputs/result.json {"node_idx": class_label, ...}
outputs/result_single_best.json 最优单模型结果
outputs/result_ens_top{k}.json Top-k 集成结果(k=5,10,15,20)

5. 结果说明

  • 评测指标:准确率(Accuracy)
  • 最佳单模型:GRAND hid=32, K=8, dropnode=0.5, S=4, λ=1.5,验证集准确率 ≈ 0.846
  • 集成测试准确率0.858(贪心前向选择集成,20 个随机种子)

方法说明:

  • GRAND:DropNode 随机增强 + 混合阶图扩散 + 一致性正则化 + MLP 分类器
  • GCNII:深层残差图卷积网络,提供集成多样性
  • 集成:多配置、多随机种子训练,贪心前向选择最优子集

注:实际线上提交结果与本地验证集准确率可能存在小幅差异。


引用

关于
19.8 MB
邀请码
    Gitlink(确实开源)
  • 加入我们
  • 官网邮箱:gitlink@ccf.org.cn
  • QQ群
  • QQ群
  • 公众号
  • 公众号

版权所有:中国计算机学会技术支持:开源发展技术委员会
京ICP备13000930号-9 京公网安备 11010802032778号