Skip to contents

Classification via logistic regression. Calls stats::glm() with family set to "binomial".

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.

Initial parameter values

  • model:

    • Actual default: TRUE.

    • Adjusted default: FALSE.

    • Reason for change: Save some memory.

Dictionary

This mlr3::Learner can be instantiated via the dictionary mlr3::mlr_learners or with the associated sugar function mlr3::lrn():

mlr_learners$get("classif.log_reg")
lrn("classif.log_reg")

Meta Information

  • Task type: “classif”

  • Predict Types: “response”, “prob”

  • Feature Types: “logical”, “integer”, “numeric”, “character”, “factor”, “ordered”

  • Required Packages: mlr3, mlr3learners, 'stats'

Parameters

IdTypeDefaultLevelsRange
dispersionuntypedNULL-
epsilonnumeric1e-08\((-\infty, \infty)\)
etastartuntyped--
maxitnumeric25\((-\infty, \infty)\)
modellogicalTRUETRUE, FALSE-
mustartuntyped--
offsetuntyped--
singular.oklogicalTRUETRUE, FALSE-
startuntypedNULL-
tracelogicalFALSETRUE, FALSE-
xlogicalFALSETRUE, FALSE-
ylogicalTRUETRUE, FALSE-

Contrasts

To ensure reproducibility, this learner always uses the default contrasts:

Setting the option "contrasts" does not have any effect. Instead, set the respective hyperparameter or use mlr3pipelines to create dummy features.

See also

Other Learner: mlr_learners_classif.cv_glmnet, mlr_learners_classif.glmnet, mlr_learners_classif.kknn, mlr_learners_classif.lda, 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.nnet, mlr_learners_regr.ranger, mlr_learners_regr.svm, mlr_learners_regr.xgboost

Super classes

mlr3::Learner -> mlr3::LearnerClassif -> LearnerClassifLogReg

Methods

Inherited methods


Method new()

Creates a new instance of this R6 class.

Usage


Method loglik()

Extract the log-likelihood (e.g., via stats::logLik() from the fitted model.

Usage

LearnerClassifLogReg$loglik()


Method clone()

The objects of this class are cloneable with this method.

Usage

LearnerClassifLogReg$clone(deep = FALSE)

Arguments

deep

Whether to make a deep clone.

Examples

if (requireNamespace("stats", quietly = TRUE)) {
# Define the Learner and set parameter values
learner = lrn("classif.log_reg")
print(learner)

# Define a Task
task = tsk("sonar")

# Create train and test set
ids = partition(task)

# Train the learner on the training ids
learner$train(task, row_ids = ids$train)

# print the model
print(learner$model)

# importance method
if("importance" %in% learner$properties) print(learner$importance)

# Make predictions for the test rows
predictions = learner$predict(task, row_ids = ids$test)

# Score the predictions
predictions$score()
}
#> <LearnerClassifLogReg:classif.log_reg>: Logistic Regression
#> * Model: -
#> * Parameters: list()
#> * Packages: mlr3, mlr3learners, stats
#> * Predict Types:  [response], prob
#> * Feature Types: logical, integer, numeric, character, factor, ordered
#> * Properties: loglik, twoclass, weights
#> Warning: glm.fit: algorithm did not converge
#> Warning: glm.fit: fitted probabilities numerically 0 or 1 occurred
#> 
#> Call:  stats::glm(formula = task$formula(), family = "binomial", data = data, 
#>     model = FALSE)
#> 
#> Coefficients:
#> (Intercept)           V1          V10          V11          V12          V13  
#>    -218.269      447.294     -101.657       57.785      238.149       76.659  
#>         V14          V15          V16          V17          V18          V19  
#>    -147.612       73.619     -124.589       10.025       76.102      -20.279  
#>          V2          V20          V21          V22          V23          V24  
#>     -17.516      -89.098      136.322      -21.343       -9.840      204.983  
#>         V25          V26          V27          V28          V29           V3  
#>    -317.268      279.089     -173.946      168.871     -286.918     -819.898  
#>         V30          V31          V32          V33          V34          V35  
#>     464.489     -403.653      275.932     -227.678      183.149       25.895  
#>         V36          V37          V38          V39           V4          V40  
#>    -264.215       67.057      167.517       50.848      173.382     -143.493  
#>         V41          V42          V43          V44          V45          V46  
#>     -31.279       -6.487       16.469      260.527      -99.417     -363.118  
#>         V47          V48          V49           V5          V50          V51  
#>    1021.223     -328.349      307.948      428.923    -1749.079     -494.081  
#>         V52          V53          V54          V55          V56          V57  
#>    1741.766      946.441      152.633    -2309.507    -2846.633     -143.526  
#>         V58          V59           V6          V60           V7           V8  
#>    4298.927     1961.737     -190.439      706.957        4.573      323.417  
#>          V9  
#>      10.981  
#> 
#> Degrees of Freedom: 138 Total (i.e. Null);  78 Residual
#> Null Deviance:	    190.1 
#> Residual Deviance: 5.789e-09 	AIC: 122
#> classif.ce 
#>  0.2898551