diff --git a/README.md b/README.md index edb34a9..56e3dec 100644 --- a/README.md +++ b/README.md @@ -6,12 +6,14 @@ database connection is needed. ## How to run ### Activate a python env and install deps -`python -m venv .venv` +`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 --start-fresh` (The Weka JRip baseline additionally needs a Java runtime; it is skipped automatically if `java`/`weka.jar` are unavailable.) @@ -19,3 +21,6 @@ automatically if `java`/`weka.jar` are unavailable.) ### Further info - `./results` holds 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.py` reproduces 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. diff --git a/diagnostics_extreme_and_combined.py b/supplementary_diagnostics.py similarity index 91% rename from diagnostics_extreme_and_combined.py rename to supplementary_diagnostics.py index b07e4cc..047c195 100644 --- a/diagnostics_extreme_and_combined.py +++ b/supplementary_diagnostics.py @@ -1,5 +1,12 @@ -"""Scratch: (1) extreme-lambda effect on onto-MDL vs onto-grow, (2) combined grow+prune+MDL -variant vs all others. ONE repeat (5 folds) pooled per point — quick look, not a full sweep.""" +"""Supplementary diagnostics referenced in the Discussion (not part of the primary study). + +Two secondary analyses, each pooled over one repeat of 5 folds (runtime measurement off): + 1. Effect of extreme lambda values on onto-MDL vs onto-grow guidance. + 2. The combined grow+prune+MDL variant compared against all other guidance variants. + +These use a single repeat per point as an exploratory check rather than the full repeated +sweep behind the main results, so the numbers are indicative rather than definitive. +""" import numpy as np, pandas as pd from collections import defaultdict from sklearn.model_selection import RepeatedStratifiedKFold