View source: R/070_Hyperparameters.R
| setup_MonotonicHAL | R Documentation |
Setup hyperparameters for monotonic Highly Adaptive Lasso training.
setup_MonotonicHAL(
smoothness_orders = 1L,
reduce_basis = NULL,
num_knots = NULL,
penalized = TRUE,
use_min = TRUE,
nfolds = 10L,
seed = NULL,
ifw = FALSE
)
smoothness_orders |
(Tunable) Integer [0, 1]: Smoothness of the basis functions: 0 fits zero-order indicators and yields a step function, 1 fits piecewise linear splines and yields a continuous one. |
reduce_basis |
(Tunable) Optional Numeric (0, 1]: Minimum proportion of cases a basis function must be non-zero in to be kept. Applies only when |
num_knots |
Optional Integer [1, Inf): Number of knots spanning each feature. NULL generates them from smoothness_orders. |
penalized |
Logical: If TRUE, apply the lasso penalty to the basis functions; if FALSE, remove it. |
use_min |
Logical: If TRUE, select |
nfolds |
Integer [3, Inf): Largest number of folds of the internal cross-validation that selects lambda. |
seed |
Optional Integer: Random seed for the internal cross-validation's fold assignment. NULL leaves it drawn from the ambient RNG. |
ifw |
(Tunable) Logical: If TRUE, use Inverse Frequency Weighting in classification. |
A Highly Adaptive Lasso restricted to additive, monotonic non-decreasing
fits. hal9001::fit_hal is given a formula that constrains every basis
function's coefficient to be non-negative, and the interaction degree is
fixed at 1. Regression uses the gaussian family, binary classification the
binomial one; hal9001 has no multinomial family, so multiclass
classification is not supported.
The intended use is probability calibration, where the single feature is a classifier's score. Monotonicity is what makes that safe: a calibration map that reorders scores changes the ranking and so changes AUC, and a non-decreasing map cannot. Pass it to calibrate to use it instead of the default calibrator, setup_Isotonic.
Relative to Isotonic, which is the other monotonic calibrator, this fits on
the logit scale, so it does not saturate at 0 and 1 the way the boundary
bins of isotonic regression do – it can still round to an endpoint in
double precision
when the input scores are themselves extreme. At smoothness_orders = 1 it
is strictly increasing rather than a step function, so it introduces no ties
and leaves AUC unchanged.
smoothness_orders is the one substantive choice. 0 fits indicator basis
functions and recovers a step function; 1 fits piecewise linear splines and
yields a continuous map.
penalized = FALSE removes the lasso penalty, giving the non-parametric
maximum likelihood estimate over the monotonic class. Combined with
smoothness_orders = 0 that is isotonic regression, up to the logit-scale
parameterization.
lambda is selected by cross-validation inside the fit and is not a search
dimension. seed fixes that cross-validation's fold assignment; nfolds
and use_min control it. Calibration sets are often small, so nfolds is
an upper bound: training backs off to as many folds as the data supports at
three cases each, and says so at verbosity >= 1.
get_varimp() reports the same two measures as setup_HAL, importance
and max_coefficient. Both are of limited use at a single feature.
MonotonicHALHyperparameters object.
EDG
monotonichal_hyperparams <- setup_MonotonicHAL(smoothness_orders = 0L)
monotonichal_hyperparams
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.