Document supplementary diagnostics script and tidy repo

- Rename diagnostics_extreme_and_combined.py to supplementary_diagnostics.py
- Reframe its docstring as supplementary analysis referenced in the Discussion
- Add README pointer to it
- Remove stale results/rule_dynamics/discussion_draft.md

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
Beau 2026-06-24 12:54:20 +02:00
parent 864545f9a3
commit c817872191
2 changed files with 15 additions and 3 deletions

View file

@ -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.

View file

@ -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