Computes a weighted average of inputs. Used in the context of computing weighted averages of predictions.

Predictions are averaged using weights (in order of appearance in the data) which are optimized using nonlinear optimization from the package "nloptr" for a measure provided in measure (defaults to classif.acc for LearnerClassifAvg and regr.mse for LearnerRegrAvg). Learned weights can be obtained from $model. Using non-linear optimization is implemented in the SuperLearner R package. For a more detailed analysis the reader is referred to LeDell (2015).

Note, that weights always sum to 1 by dividing through sum(weights) before weighting incoming features.




R6Class object inheriting from mlr3::LearnerClassif/mlr3::Learner.


The parameters are the parameters inherited from LearnerClassif, as well as:

  • measure :: Measure | character
    Measure to optimize for. Will be converted to a Measure in case it is character. Initialized to "classif.ce", i.e. misclassification error for classification and "regr.mse", i.e. mean squared error for regression.

  • optimizer :: Optimizer | character(1)
    Optimizer used to find optimal thresholds. If character, converts to Optimizer via opt. Initialized to OptimizerNLoptr. Nloptr hyperparameters are initialized to xtol_rel = 1e-8, algorithm = "NLOPT_LN_COBYLA" and equal initial weights for each learner. For more fine-grained control, it is recommended to supply a instantiated Optimizer.

  • log_level :: character(1) | integer(1)
    Set a temporary log-level for lgr::get_logger("bbotk"). Initialized to: "warn".


  • LearnerClassifAvg$new(), id = "classif.avg")
    (chr) -> self

  • LearnerRegrAvg$new(), id = "regr.avg")
    (chr) -> self


LeDell, Erin (2015). Scalable Ensemble Learning and Computationally Efficient Variance Estimation. Ph.D. thesis, UC Berkeley.

See also