This is the public code base that can reproduce the found numbers that are presented in my MSc thesis at the VU. Made by beau fonville working as an internship thesis student for Hapsah.
| excels | ||
| helper_functions | ||
| ontology_guidance | ||
| results | ||
| .gitcommit | ||
| .gitignore | ||
| analyze_rule_dynamics.py | ||
| evaluate_ruleset.py | ||
| final_compare_accuracies_no_vervuiling.py | ||
| oud_maak_verv_dataset.py | ||
| README.md | ||
| requirements.txt | ||
| RIPPER_no_onto_guid.py | ||
| RIPPER_onto_guid.py | ||
| RIPPER_onto_guid_grow.py | ||
| RIPPER_onto_guid_grow_and_prune.py | ||
| RIPPER_onto_guid_grow_prune_mdl.py | ||
| run_all_experiments.py | ||
| supplementary_diagnostics.py | ||
README
Reference code for the ontology-guided RIPPER experiments. It runs entirely from
the bundled Excel dataset (excels/non_dummy_columns_df_less_classes.xlsx) — no
database connection is needed.
How to run
Activate a python env and install deps
python -m venv .venv (I used python version 3.13.3)
source ./.venv/Scripts/activate
pip install -r requirements.txt
Run all experiments
python run_all_experiments.py
or when wanting to re run everything from scratch
python run_all_experiments.py --fresh
(The Weka JRip baseline additionally needs a Java runtime; it is skipped
automatically if java/weka.jar are unavailable.)
Further info
./resultsholds all saved data behind the figures, including the learned rules.- the results that were used are in the subfolder
/pooled(pooled over the 5 folds). supplementary_diagnostics.pyreproduces the secondary analyses referenced in the Discussion (extreme-lambda behaviour and the combined grow+prune+MDL variant). These are exploratory, single-repeat checks and are not part of the primary study.