The Five Validation Methods — runnable Python notebook (Windows-safe)

Files
  OSSL_Validation_Methods_WIN.ipynb   the notebook (open with Jupyter)
  data/ossl_validation_sample.csv     400 real OSSL v1.2 soil spectra + SOC labels

How to run
  1. Keep the folder structure as-is (the notebook uses relative paths).
  2. Open the notebook and run the cells top to bottom.
  3. Every cell imports its own libraries, so you can also run cells out of order.
  4. Runtime: ~1-2 minutes. The slowest cell is leave-one-out (400 model fits).

What it covers
  1. Holdout validation            5 different splits of the same data
  2. Repeated holdout              20 repeats -> mean + spread
  3. Bootstrap validation          with the out-of-bag correction and .632 estimator
  4. 3-way holdout                 train / validation / test, and the optimism gap
  5. Cross-validation              5-fold, 10-fold, leave-one-out
  +  Leave-one-dataset-out          the honest test: does it transfer to a new library?

Data provenance
  Open Soil Spectral Library (OSSL) v1.2, https://soilspectroscopy.org
  400 layers drawn from the 64,211 vis-NIR + SOC pool (stratified over 20 SOC quantiles,
  seed 42). Bands 400-2500 nm only (LUCAS spectra start at 400 nm). Row-wise SNV.
  Target: log10(SOC %). Libraries: LUCAS 242, KSSL 133, ICRAF 23, Woodwell 2.
