GLM with Elastic Net Regularization Classification Learner
Source:R/LearnerClassifCVGlmnet.R
mlr_learners_classif.cv_glmnet.Rd
Generalized linear models with elastic net regularization.
Calls glmnet::cv.glmnet()
from package glmnet.
The default for hyperparameter family
is set to "binomial"
or "multinomial"
,
depending on the number of classes.
Dictionary
This Learner can be instantiated via the dictionary mlr_learners or with the associated sugar function lrn()
:
$get("classif.cv_glmnet")
mlr_learnerslrn("classif.cv_glmnet")
Meta Information
, * Task type: “classif”, * Predict Types: “response”, “prob”, * Feature Types: “logical”, “integer”, “numeric”, * Required Packages: mlr3, mlr3learners, glmnet
Parameters
, |Id |Type |Default |Levels |Range |, |:--------------------|:---------|:----------|:------------------------------|:------------------------------------|, |alignment |character |lambda |lambda, fraction |- |, |alpha |numeric |1 | |\([0, 1]\) |, |big |numeric |9.9e+35 | |\((-\infty, \infty)\) |, |devmax |numeric |0.999 | |\([0, 1]\) |, |dfmax |integer |- | |\([0, \infty)\) |, |epsnr |numeric |1e-08 | |\([0, 1]\) |, |eps |numeric |1e-06 | |\([0, 1]\) |, |exclude |integer |- | |\([1, \infty)\) |, |exmx |numeric |250 | |\((-\infty, \infty)\) |, |fdev |numeric |1e-05 | |\([0, 1]\) |, |foldid |untyped | | |- |, |gamma |untyped |- | |- |, |grouped |logical |TRUE |TRUE, FALSE |- |, |intercept |logical |TRUE |TRUE, FALSE |- |, |keep |logical |FALSE |TRUE, FALSE |- |, |lambda.min.ratio |numeric |- | |\([0, 1]\) |, |lambda |untyped |- | |- |, |lower.limits |untyped |- | |- |, |maxit |integer |100000 | |\([1, \infty)\) |, |mnlam |integer |5 | |\([1, \infty)\) |, |mxitnr |integer |25 | |\([1, \infty)\) |, |mxit |integer |100 | |\([1, \infty)\) |, |nfolds |integer |10 | |\([3, \infty)\) |, |nlambda |integer |100 | |\([1, \infty)\) |, |offset |untyped | | |- |, |parallel |logical |FALSE |TRUE, FALSE |- |, |penalty.factor |untyped |- | |- |, |pmax |integer |- | |\([0, \infty)\) |, |pmin |numeric |1e-09 | |\([0, 1]\) |, |prec |numeric |1e-10 | |\((-\infty, \infty)\) |, |predict.gamma |numeric |gamma.1se | |\((-\infty, \infty)\) |, |relax |logical |FALSE |TRUE, FALSE |- |, |s |numeric |lambda.1se | |\([0, \infty)\) |, |standardize |logical |TRUE |TRUE, FALSE |- |, |standardize.response |logical |FALSE |TRUE, FALSE |- |, |thresh |numeric |1e-07 | |\([0, \infty)\) |, |trace.it |integer |0 | |\([0, 1]\) |, |type.gaussian |character |- |covariance, naive |- |, |type.logistic |character |- |Newton, modified.Newton |- |, |type.measure |character |deviance |deviance, class, auc, mse, mae |- |, |type.multinomial |character |- |ungrouped, grouped |- |, |upper.limits |untyped |- | |- |
Internal Encoding
Starting with mlr3 v0.5.0, the order of class labels is reversed prior to
model fitting to comply to the stats::glm()
convention that the negative class is provided
as the first factor level.
References
Friedman J, Hastie T, Tibshirani R (2010). “Regularization Paths for Generalized Linear Models via Coordinate Descent.” Journal of Statistical Software, 33(1), 1--22. doi:10.18637/jss.v033.i01 .
See also
Chapter in the mlr3book: https://mlr3book.mlr-org.com/basics.html#learners
Package mlr3extralearners for more learners.
Dictionary of Learners: mlr_learners
as.data.table(mlr_learners)
for a table of available Learners in the running session (depending on the loaded packages).mlr3pipelines to combine learners with pre- and postprocessing steps.
Extension packages for additional task types:
mlr3proba for probabilistic supervised regression and survival analysis.
mlr3cluster for unsupervised clustering.
mlr3tuning for tuning of hyperparameters, mlr3tuningspaces for established default tuning spaces.
Other Learner:
mlr_learners_classif.glmnet
,
mlr_learners_classif.kknn
,
mlr_learners_classif.lda
,
mlr_learners_classif.log_reg
,
mlr_learners_classif.multinom
,
mlr_learners_classif.naive_bayes
,
mlr_learners_classif.nnet
,
mlr_learners_classif.qda
,
mlr_learners_classif.ranger
,
mlr_learners_classif.svm
,
mlr_learners_classif.xgboost
,
mlr_learners_regr.cv_glmnet
,
mlr_learners_regr.glmnet
,
mlr_learners_regr.kknn
,
mlr_learners_regr.km
,
mlr_learners_regr.lm
,
mlr_learners_regr.ranger
,
mlr_learners_regr.svm
,
mlr_learners_regr.xgboost
Super classes
mlr3::Learner
-> mlr3::LearnerClassif
-> LearnerClassifCVGlmnet
Methods
Method selected_features()
Returns the set of selected features as reported by glmnet::predict.glmnet()
with type
set to "nonzero"
.
Arguments
lambda
(
numeric(1)
)
Customlambda
, defaults to the active lambda depending on parameter set.
Returns
(character()
) of feature names.
Examples
if (requireNamespace("glmnet", quietly = TRUE)) {
learner = mlr3::lrn("classif.cv_glmnet")
print(learner)
# available parameters:
learner$param_set$ids()
}
#> <LearnerClassifCVGlmnet:classif.cv_glmnet>
#> * Model: -
#> * Parameters: list()
#> * Packages: mlr3, mlr3learners, glmnet
#> * Predict Type: response
#> * Feature types: logical, integer, numeric
#> * Properties: multiclass, selected_features, twoclass, weights
#> [1] "alignment" "alpha" "big"
#> [4] "devmax" "dfmax" "epsnr"
#> [7] "eps" "exclude" "exmx"
#> [10] "fdev" "foldid" "gamma"
#> [13] "grouped" "intercept" "keep"
#> [16] "lambda.min.ratio" "lambda" "lower.limits"
#> [19] "maxit" "mnlam" "mxitnr"
#> [22] "mxit" "nfolds" "nlambda"
#> [25] "offset" "parallel" "penalty.factor"
#> [28] "pmax" "pmin" "prec"
#> [31] "predict.gamma" "relax" "s"
#> [34] "standardize" "standardize.response" "thresh"
#> [37] "trace.it" "type.gaussian" "type.logistic"
#> [40] "type.measure" "type.multinomial" "upper.limits"