This is the implementation for our paper: Neural Autoregressive Flows for Markov Boundary Learning, accepted at IEEE ICDM 2025.
Setup • Structure • Experiments • Citation
conda env create -n fans --file env.yml
conda activate fans- data/: Create synhetic datasets, Masking mechanisms.
- data_gen/: Save data here.
- model/: Source code of models.
- model_save/: Save model checkpoints here.
- result_save/: Save results here.
- utils/: Code utils.
- metrics.py: Metrics for evaluation.
- run_linear.py: Run linear data.
- run_nonlinear.py: Run nonlinear data.
Default: Data sampled from an ER graph with 100 nodes, expected degree 1, 5000 samples, and Gaussian noise.
python run_linear.py
Default: Data are sampled from an ER graph with 30 nodes and expected degree 1, using 1000 samples. The data-generating process is drawn from a Gaussian Process, with additive Gaussian noise.
Train FANS:
python run_nonlinear.py --train --mode flow --d 30 --data_seed 42
@inproceedings{nguyen2025neural,
title={Neural Autoregressive Flows for Markov Boundary Learning},
author={Nguyen, Khoa and Duong, Bao and Huynh, Viet and Nguyen, Thin},
year={2025},
booktitle = {IEEE International Conference on Data Mining},
}