///|
/// Selects feature preprocessing fitted only from training observations.
pub(all) enum ScalerKind {
  StandardScale
  MinMaxScale(Double, Double)
} derive(Eq, Debug)

///|
/// Stores immutable per-feature parameters for reversible scaling.
pub struct FeatureScaler {
  scaler_kind : ScalerKind
  offset_values : Array[Double]
  scale_values : Array[Double]
  constant_columns : Array[Bool]
  input_columns : Int
} derive(Eq, Debug)