This repository provides code for the implementation of our paper Counterfactual Explanations in Medical Imaging: Exploring SPN-Guided Latent Space Manipulation, submitted to 24th International Workshop on Data Mining in Bioinformatics (BioKDD25). The code includes preprocessing datasets, training the model, generating counterfactuals, and evaluating their quality.
- preprocessing.py: Script for dataset preprocessing.
- main_pipeline.py: Code for training the SPN-VAE model.
- cf_creation.py: Script for generating counterfactuals for trained models.
- main_analysis.py: Code for evaluating the quality of generated counterfactuals.
- example_plot.png: Example visualization of results.
- Python 3.8+
- Required libraries can be installed via:
pip install -r requirements.txtRun the following to preprocess the dataset and enter your Hugging Face access token:
python preprocessing.pyTo train the SPN-VAE model, use:
python main_pipeline.py --le_warmup 0 --load_pretrain_model 0 --gauss_std 0.2 --save_path 'test_model' --loss_weights 10.0 0.1 5.0 --dropout 0.0 --epochs 101 --fine_tune_its 0 --use_add_info 1 --use_VAE 1 --VAE_debug 1 --latent_dim 64 --separate_view 0 --learning_rate 0.0001 --fine_tune_rate 0.0001 --batch_size 50For creating counterfactuals with the trained model:
python cf_creation.pyEvaluate the generated counterfactuals using:
python main_analysis.pyFor any questions, please contact siekiera@uni-mainz.de .