schema_version: 1
id: savgol_rf
name: Savitzky–Golay (2nd deriv) · Random Forest
summary: Non-linear regression — second-derivative SG + SNV feeding a 400-tree random forest.
description: |
  A non-linear alternative to PLS for responses that interact with the spectrum in
  complex ways. A second-derivative Savitzky–Golay filter resolves overlapping bands,
  SNV removes residual scatter, and a 400-tree random forest captures non-linear
  structure. Useful when PLS underfits or when feature importances are of interest.
framework: nirs4all
kind: recipe
task: regression
tags: [random_forest, savitzky_golay, snv, nonlinear]
version: "1.0.0"
license: CeCILL-2.1 OR AGPL-3.0-or-later
created_at: "2026-06-17"
authors:
  - name: Gregory Beurier
    email: gregory.beurier@cirad.fr
    affiliation: CIRAD
recipe:
  format: nirs4all/pipeline-config
  path: pipeline.json
reference:
  source: nirs4all-datasets
  name: regression_demo
evaluation:
  metric: rmse
  task: regression
  expected:
    val: { value: 0.155, tol: 0.04 }
    test: { value: 0.180, tol: 0.05 }
  nirs4all_version: ">=0.10,<0.11"
  status: unvalidated
provenance:
  generated_by: nirs4all 0.10.2
governance:
  status: draft
  visibility: public
  trust: community
