Benchmarking-GNNs数据集详解:从分子图到社交网络的全面覆盖
**图神经网络基准测试数据集全解析**:从分子图到社交网络的全面覆盖,深入了解10大核心数据集及其应用场景 🚀在**图神经网络基准测试**领域,Benchmarking-GNNs项目提供了业界最全面的数据集集合。这个开源项目(JMLR 2023)不仅包含了经典的分子图数据集如ZINC和AQSOL,还涵盖了社交网络、图像超像素、理论图属性等多种数据类型。无论你是GNN研究者还是实践者,了解这些
Benchmarking-GNNs数据集详解:从分子图到社交网络的全面覆盖
图神经网络基准测试数据集全解析:从分子图到社交网络的全面覆盖,深入了解10大核心数据集及其应用场景 🚀
在图神经网络基准测试领域,Benchmarking-GNNs项目提供了业界最全面的数据集集合。这个开源项目(JMLR 2023)不仅包含了经典的分子图数据集如ZINC和AQSOL,还涵盖了社交网络、图像超像素、理论图属性等多种数据类型。无论你是GNN研究者还是实践者,了解这些数据集的特点和应用场景都至关重要。
📊 数据集分类概览
Benchmarking-GNNs项目的数据集可以分为以下几个主要类别:
1. 分子图数据集(化学领域)
- ZINC:包含12,000个分子图,用于图回归任务,预测分子的溶解度
- ZINC-full:扩展版ZINC数据集,包含249,000个分子图,规模更大
- AQSOL:基于实验测量的分子水溶性数据集,具有真实世界的化学目标值
这些数据集位于 data/molecules/ 目录,支持分子性质预测任务,是药物发现和材料科学领域的重要基准。
2. TU图数据集(生物信息学)
- DD:蛋白质结构图数据集,包含1,178个蛋白质图
- ENZYMES:酶分子图数据集,包含600个酶分子图
- PROTEINS_full:完整蛋白质图数据集
这些生物信息学数据集位于 data/TUs/ 目录,用于图分类任务,帮助研究人员理解蛋白质结构和功能关系。
3. 社交网络与协作数据集
- COLLAB:学术合作网络数据集,来自OGB(Open Graph Benchmark)
- WikiCS:维基百科计算机科学文章链接图,用于节点分类
图神经网络层更新机制示意图,展示了GNN中节点特征的跨层聚合过程
4. 图像超像素数据集
- MNIST Superpixels:基于MNIST手写数字生成的超像素图
- CIFAR10 Superpixels:基于CIFAR10图像生成的超像素图
这些数据集将传统计算机视觉任务转化为图学习问题,位于 data/superpixels/ 目录。
5. 合成图数据集
- SBM_PATTERN:基于随机块模型的模式识别数据集
- SBM_CLUSTER:基于随机块模型的聚类数据集
- CSL:循环跳跃链接图数据集,用于图同构测试
- TSP:旅行商问题图数据集,用于边分类任务
6. 理论图属性数据集
- GraphTheoryProp:多任务图属性预测数据集
- CYCLES:环检测数据集,测试GNN的理论能力
🔧 数据集快速获取指南
项目提供了便捷的数据集下载脚本,位于 data/ 目录:
# 下载所有数据集
cd data/
bash script_download_all_datasets.sh
# 或按需下载特定数据集
bash script_download_superpixels.sh # MNIST/CIFAR10超像素
bash script_download_molecules.sh # ZINC/AQSOL分子数据集
bash script_download_SBMs.sh # PATTERN/CLUSTER SBM数据集
bash script_download_TSP.sh # TSP数据集
bash script_download_CSL.sh # CSL数据集
bash script_download_graphtheoryprop.sh # GraphTheoryProp数据集
bash script_download_cycles.sh # CYCLES数据集
📈 数据集统计与特点
分子图数据集特性
- ZINC:12,000个图,平均节点数23.2,平均边数24.9
- ZINC-full:249,000个图,更大规模,更丰富的化学空间
- AQSOL:9,982个图,带有实验测量的水溶性值
超像素数据集特点
- MNIST:70,000个图(60k训练+10k测试),每个图对应一个手写数字
- CIFAR10:60,000个图,每个图对应一个CIFAR10图像类别
社交网络数据集规模
- COLLAB:1个大型图,244,902个节点,1,234,718条边
- WikiCS:11,701个节点,216,123条边,10个类别
🎯 任务类型与评估指标
图分类任务
- 适用数据集:TUs(DD、ENZYMES、PROTEINS)、超像素、CSL、CYCLES
- 评估指标:分类准确率
- 配置文件示例:
configs/TUs_graph_classification_GIN_DD_100k.json
图回归任务
- 适用数据集:ZINC、ZINC-full、AQSOL
- 评估指标:平均绝对误差(MAE)
- 配置文件示例:
configs/molecules_graph_regression_GIN_ZINC_100k.json
节点分类任务
- 适用数据集:SBM_PATTERN、SBM_CLUSTER、WikiCS
- 评估指标:准确率
- 配置文件示例:
configs/SBMs_node_clustering_GIN_PATTERN_100k.json
边分类任务
- 适用数据集:TSP、COLLAB
- 评估指标:准确率或AUC
- 配置文件示例:
configs/TSP_edge_classification_GIN_100k.json
多任务学习
- 适用数据集:GraphTheoryProp
- 评估指标:多个任务的综合性能
- 配置文件示例:
configs/GraphTheoryProp_multitask_GIN_GraphTheoryProp_100k.json
🛠️ 数据集使用流程
1. 数据加载
所有数据集通过统一的接口加载:
from data.data import LoadData
# 加载任意数据集
dataset = LoadData('ZINC') # 分子数据集
dataset = LoadData('DD') # 蛋白质数据集
dataset = LoadData('MNIST') # 超像素数据集
2. 训练配置
每个数据集都有对应的训练脚本和配置文件:
- 训练脚本:位于
train/目录,如train_molecules_graph_regression.py - 配置文件:位于
configs/目录,包含超参数设置 - 运行脚本:位于
scripts/目录,提供一键训练命令
3. 模型支持
项目支持多种GNN架构:
- 消息传递GNNs:GCN、GAT、GIN、GraphSAGE、GatedGCN、MoNet
- WL-GNNs:3-WL GNN、Ring GNN
- 基准模型:MLP、矩阵分解
💡 数据集选择指南
新手入门推荐
- ZINC:中等规模,回归任务,易于理解和实现
- MNIST Superpixels:图像数据转化,直观可视
- DD:蛋白质分类,生物信息学应用
进阶研究选择
- ZINC-full:大规模分子数据集,挑战模型扩展性
- GraphTheoryProp:多任务学习,测试泛化能力
- CYCLES:理论图属性,评估GNN的理论极限
社交网络分析
- COLLAB:真实世界社交网络,边预测任务
- WikiCS:知识图谱,节点分类任务
📚 数据集扩展与贡献
项目提供了完整的数据集添加指南(docs/04_add_dataset.md),支持研究人员添加新的数据集。每个数据集需要实现:
- 数据集类(继承自
torch.utils.data.Dataset) - 数据加载器
- 对应的训练脚本
- 配置文件模板
🎉 总结
Benchmarking-GNNs项目的数据集覆盖了图神经网络研究的多个关键领域,从基础的分子图到复杂的社交网络,从理论图属性到实际应用场景。这些数据集不仅为GNN研究提供了标准化的评估基准,也为不同领域的研究人员提供了丰富的实验平台。
无论你是刚开始接触图神经网络,还是正在进行前沿研究,这个项目的数据集集合都能为你提供合适的实验平台。通过系统化的基准测试,我们可以更好地理解不同GNN架构的优势和局限,推动图神经网络技术的发展。
核心价值:统一的评估框架 + 多样化的数据集 + 可复现的实验结果 = 加速GNN研究进展 🚀
项目路径:gh_mirrors/be/benchmarking-gnns
更多推荐




所有评论(0)