Skip to contents

Generalized linear classification model. Calls h2o::h2o.glm() from package h2o with family always set to "binomial".

H2O Connection

If no running H2O connection is found, the learner will automatically start a local H2O server on 127.0.0.1 via h2o::h2o.init(). If you want to connect to a remote H2O cluster, call h2o::h2o.init() with the appropriate arguments before training or predicting.

Dictionary

This Learner can be instantiated via lrn():

lrn("classif.h2o.glm")

Meta Information

  • Task type: “classif”

  • Predict Types: “response”, “prob”

  • Feature Types: “integer”, “numeric”, “factor”

  • Required Packages: mlr3, mlr3extralearners, h2o

Parameters

IdTypeDefaultLevelsRange
alphanumeric0.5\([0, 1]\)
balance_classeslogicalFALSETRUE, FALSE-
beta_constraintsuntypedNULL-
beta_epsilonnumeric1e-04\([0, \infty)\)
build_null_modellogicalFALSETRUE, FALSE-
calc_likelogicalFALSETRUE, FALSE-
checkpointuntypedNULL-
class_sampling_factorsuntypedNULL-
cold_startlogicalFALSETRUE, FALSE-
compute_p_valueslogicalFALSETRUE, FALSE-
early_stoppinglogicalTRUETRUE, FALSE-
export_checkpoints_diruntypedNULL-
gainslift_binsinteger-1\([-1, \infty)\)
generate_scoring_historylogicalFALSETRUE, FALSE-
generate_variable_inflation_factorslogicalFALSETRUE, FALSE-
gradient_epsilonnumeric-1\([0, \infty)\)
HGLMlogicalFALSETRUE, FALSE-
ignore_const_colslogicalTRUETRUE, FALSE-
interactionsuntypedNULL-
interaction_pairsuntypedNULL-
interceptlogicalTRUETRUE, FALSE-
lambdanumeric1e-05\([0, \infty)\)
lambda_min_rationumeric-1\([0, 1]\)
lambda_searchlogicalFALSETRUE, FALSE-
linkcharacterlogitfamily_default, logit-
max_active_predictorsinteger-1\([1, \infty)\)
max_after_balance_sizenumeric5\([0, \infty)\)
max_iterationsinteger-1\([0, \infty)\)
max_runtime_secsnumeric0\([0, \infty)\)
missing_values_handlingcharacterMeanImputationMeanImputation, Skip, PlugValues-
nlambdasinteger-1\([1, \infty)\)
non_negativelogicalFALSETRUE, FALSE-
objective_epsilonnumeric-1\([0, \infty)\)
obj_regnumeric-1\([0, \infty)\)
plug_valuesuntypedNULL-
priornumeric-1\([0, \infty)\)
random_columnsuntypedNULL-
remove_collinear_columnslogicalFALSETRUE, FALSE-
score_each_iterationlogicalFALSETRUE, FALSE-
score_iteration_intervalinteger-1\((-\infty, \infty)\)
seedinteger-1\((-\infty, \infty)\)
solvercharacterAUTOAUTO, IRLSM, L_BFGS, COORDINATE_DESCENT, COORDINATE_DESCENT_NAIVE-
standardizelogicalTRUETRUE, FALSE-
startvaluntypedNULL-
stopping_metriccharacterAUTOAUTO, logloss, AUC, AUCPR, lift_top_group, misclassification, mean_per_class_error-
stopping_roundsinteger0\([0, \infty)\)
stopping_tolerancenumeric0.001\([0, \infty)\)

References

Fryda T, LeDell E, Gill N, Aiello S, Fu A, Candel A, Click C, Kraljevic T, Nykodym T, Aboyoun P, Kurka M, Malohlava M, Poirier S, Wong W (2025). h2o: R Interface for the 'H2O' Scalable Machine Learning Platform. R package version 3.46.0.9, https://github.com/h2oai/h2o-3.

See also

Author

awinterstetter

Super classes

mlr3::Learner -> mlr3::LearnerClassif -> LearnerClassifH2OGLM

Methods

Inherited methods


Method new()

Creates a new instance of this R6 class.

Usage


Method clone()

The objects of this class are cloneable with this method.

Usage

LearnerClassifH2OGLM$clone(deep = FALSE)

Arguments

deep

Whether to make a deep clone.

Examples

# Define the Learner
learner = lrn("classif.h2o.glm")
print(learner)
#> 
#> ── <LearnerClassifH2OGLM> (classif.h2o.glm): H2O GLM ───────────────────────────
#> • Model: -
#> • Parameters: list()
#> • Packages: mlr3, mlr3extralearners, and h2o
#> • Predict Types: [response] and prob
#> • Feature Types: integer, numeric, and factor
#> • Encapsulation: none (fallback: -)
#> • Properties: missings, twoclass, and weights
#> • Other settings: use_weights = 'use', predict_raw = 'FALSE'

# 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(learner$model)
#> Model Details:
#> ==============
#> 
#> H2OBinomialModel: glm
#> Model ID:  GLM_model_R_1777020145368_56 
#> GLM Model: summary
#>     family  link                               regularization
#> 1 binomial logit Elastic Net (alpha = 0.5, lambda = 0.04796 )
#>   number_of_predictors_total number_of_active_predictors number_of_iterations
#> 1                         60                          25                    6
#>     training_frame
#> 1 data_sid_9e14_11
#> 
#> Coefficients: glm coefficients
#>       names coefficients standardized_coefficients
#> 1 Intercept     2.106234                 -0.478962
#> 2        V1     0.000000                  0.000000
#> 3       V10     0.000000                  0.000000
#> 4       V11    -4.418589                 -0.622383
#> 5       V12    -2.438880                 -0.367991
#> 
#> ---
#>    names coefficients standardized_coefficients
#> 56   V59     0.000000                  0.000000
#> 57    V6     0.000000                  0.000000
#> 58   V60     0.000000                  0.000000
#> 59    V7     2.762855                  0.167011
#> 60    V8     0.357520                  0.028078
#> 61    V9     0.000000                  0.000000
#> 
#> H2OBinomialMetrics: glm
#> ** Reported on training data. **
#> 
#> MSE:  0.09092286
#> RMSE:  0.3015342
#> LogLoss:  0.3158529
#> Mean Per-Class Error:  0.08396624
#> AUC:  0.9649789
#> AUCPR:  0.9642571
#> Gini:  0.9299578
#> R^2:  0.6293838
#> Residual Deviance:  87.80711
#> AIC:  139.8071
#> 
#> Confusion Matrix (vertical: actual; across: predicted) for F1-optimal threshold:
#>         M  R    Error     Rate
#> M      71  8 0.101266    =8/79
#> R       4 56 0.066667    =4/60
#> Totals 75 64 0.086331  =12/139
#> 
#> Maximum Metrics: Maximum metrics at their respective thresholds
#>                         metric threshold     value idx
#> 1                       max f1  0.400182  0.903226  63
#> 2                       max f2  0.400182  0.921053  63
#> 3                 max f0point5  0.578552  0.942308  49
#> 4                 max accuracy  0.536625  0.920863  52
#> 5                max precision  0.965044  1.000000   0
#> 6                   max recall  0.186485  1.000000 102
#> 7              max specificity  0.965044  1.000000   0
#> 8             max absolute_mcc  0.536625  0.840987  52
#> 9   max min_per_class_accuracy  0.405957  0.898734  61
#> 10 max mean_per_class_accuracy  0.400182  0.916034  63
#> 11                     max tns  0.965044 79.000000   0
#> 12                     max fns  0.965044 59.000000   0
#> 13                     max fps  0.003165 79.000000 138
#> 14                     max tps  0.186485 60.000000 102
#> 15                     max tnr  0.965044  1.000000   0
#> 16                     max fnr  0.965044  0.983333   0
#> 17                     max fpr  0.003165  1.000000 138
#> 18                     max tpr  0.186485  1.000000 102
#> 
#> Gains/Lift Table: Extract with `h2o.gainsLift(<model>, <data>)` or `h2o.gainsLift(<model>, valid=<T/F>, xval=<T/F>)`
#> 
#> 


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

# Score the predictions
predictions$score()
#> classif.ce 
#>  0.3913043