This project turns a common two-feature RBF-SVM demonstration into a complete, reproducible comparison. The workflow uses nested repeated stratified cross-validation, compares the two petal measurements with all four measurements, and evaluates RBF SVM, LDA, kNN, and decision-tree models.
From this project directory:
python3 -m venv .venv
.venv/bin/pip install -r requirements-lock.txt
make PYTHON=.venv/bin/python reproduceThe verified run performs 10 repeats of five outer folds. Hyperparameters are chosen only inside each outer training partition with three-fold inner CV. Outputs include fold-level metrics, aggregate tables, probability errors, confusion matrices, paired feature-set inference, and an SVG comparison.
Verified headline: the original two-petal RBF SVM reached 95.33% mean held-out accuracy and the four-feature version 96.07%; the paired +0.73-point difference had a bootstrap interval crossing zero and exact sign-flip p=0.156. Four-feature LDA was descriptively best at 97.93%. See REPORT.md before quoting these values.
反復ネスト交差検証によるモデルと特徴量セットの精度比較。 / Accuracy comparison across models and feature sets under repeated nested cross-validation.
src/iris_benchmark/benchmark.py: validated data loader, nested CV, metrics, inference, and figure generation;tests/: integrity, probability, metric, and deterministic end-to-end tests;results/: machine-readable results and generated chart;REPORT.md: methods, numerical results, uncertainty, and limitations;DATA_CARD.md: dataset version, attribution, license, and appropriate-use boundary;provenance/SOURCE_AUDIT.md: public dataset provenance and evaluation-design audit.
This is a methodological teaching benchmark, not evidence that Iris is a challenging or representative production problem.