On Class Distributions Induced by Nearest Neighbor Graphs for Node Classification of Tabular Data (NeurIPS 2023)
This research software is provided as is. If you happen to use or modify this code, please remember to cite the paper:
@inproceedings{errica_class_2023,
author = {Errica, Federico},
title = {On Class Distributions Induced by Nearest Neighbor Graphs for Node Classification of Tabular Data},
booktitle = {Advances in Neural Information Processing Systems},
volume = {36},
year = {2023}
}
The steps below are used to reproduce the experiments of the paper.
We assume Pytorch and Pytorch Geometric >= 2.3.0 are already installed. Then run
pip install -r requirements.txt
You can prepare the datasets using the following command
pydgn-dataset --config-file DATA_CONFIGS/config_abalone.yml
(and similarly for the other datasets using the configuration files in the DATA_CONFIGS
folder.)
Make sure you configure your hardware requirements in the configuration files present in the MODEL_CONFIGS
folder.
Then you can run
source launch_mlp_exp.sh
source launch_simpledgn_exp.sh
source launch_gin_exp.sh
source launch_gcn_exp.sh
python launch_class_separator_exp.py
This will store some checkpoints that you can load in the notebooks.
pydgn-train --config-file MODEL_CONFIGS/pedalme/mlp_abalone.yml --debug
This will launch model selection and risk assessment for the MLP and compute the final scores. You can use different configuration files to launch different experiments.
You can use the jupyter notebooks to inspect our qualitative experiments and animations for the theoretical results.