Perform (weighted) majority vote prediction from classification Predictions by connecting
PipeOpClassifAvg to multiple PipeOpLearner outputs.
Always returns a "prob" prediction, regardless of the incoming Learner's
$predict_type. The label of the class with the highest predicted probability is selected as the
"response" prediction. If the Learner's $predict_type is set to "prob",
the prediction obtained is also a "prob" type prediction with the probability predicted to be a
weighted average of incoming predictions.
All incoming Learner's $predict_type must agree.
Weights can be set as a parameter; if none are provided, defaults to equal weights for each prediction. Defaults to equal weights for each model.
If `
R6Class inheriting from PipeOpEnsemble/PipeOp.
PipeOpClassifAvg$new(innum = 0, collect_multiplicity = FALSE, id = "classifavg", param_vals = list())
innum :: numeric(1)
Determines the number of input channels.
If innum is 0 (default), a vararg input channel is created that can take an arbitrary number of inputs.
collect_multiplicity :: logical(1)
If TRUE, the input is a Multiplicity collecting channel. This means, a
Multiplicity input, instead of multiple normal inputs, is accepted and the members are aggregated. This requires innum to be 0.
Default is FALSE.
id :: character(1)
Identifier of the resulting object, default "classifavg".
param_vals :: named list
List of hyperparameter settings, overwriting the hyperparameter settings that would otherwise be set during construction. Default list().
Input and output channels are inherited from PipeOpEnsemble. Instead of a Prediction, a PredictionClassif
is used as input and output during prediction.
The $state is left empty (list()).
The parameters are the parameters inherited from the PipeOpEnsemble.
Inherits from PipeOpEnsemble by implementing the private$weighted_avg_predictions() method.
Only fields inherited from PipeOpEnsemble/PipeOp.
Only methods inherited from PipeOpEnsemble/PipeOp.
https://mlr3book.mlr-org.com/list-pipeops.html
Other PipeOps:
PipeOpEnsemble,
PipeOpImpute,
PipeOpTargetTrafo,
PipeOpTaskPreprocSimple,
PipeOpTaskPreproc,
PipeOp,
mlr_pipeops_boxcox,
mlr_pipeops_branch,
mlr_pipeops_chunk,
mlr_pipeops_classbalancing,
mlr_pipeops_classweights,
mlr_pipeops_colapply,
mlr_pipeops_collapsefactors,
mlr_pipeops_colroles,
mlr_pipeops_copy,
mlr_pipeops_datefeatures,
mlr_pipeops_encodeimpact,
mlr_pipeops_encodelmer,
mlr_pipeops_encode,
mlr_pipeops_featureunion,
mlr_pipeops_filter,
mlr_pipeops_fixfactors,
mlr_pipeops_histbin,
mlr_pipeops_ica,
mlr_pipeops_imputeconstant,
mlr_pipeops_imputehist,
mlr_pipeops_imputelearner,
mlr_pipeops_imputemean,
mlr_pipeops_imputemedian,
mlr_pipeops_imputemode,
mlr_pipeops_imputeoor,
mlr_pipeops_imputesample,
mlr_pipeops_kernelpca,
mlr_pipeops_learner,
mlr_pipeops_missind,
mlr_pipeops_modelmatrix,
mlr_pipeops_multiplicityexply,
mlr_pipeops_multiplicityimply,
mlr_pipeops_mutate,
mlr_pipeops_nmf,
mlr_pipeops_nop,
mlr_pipeops_ovrsplit,
mlr_pipeops_ovrunite,
mlr_pipeops_pca,
mlr_pipeops_proxy,
mlr_pipeops_quantilebin,
mlr_pipeops_randomprojection,
mlr_pipeops_randomresponse,
mlr_pipeops_regravg,
mlr_pipeops_removeconstants,
mlr_pipeops_renamecolumns,
mlr_pipeops_replicate,
mlr_pipeops_scalemaxabs,
mlr_pipeops_scalerange,
mlr_pipeops_scale,
mlr_pipeops_select,
mlr_pipeops_smote,
mlr_pipeops_spatialsign,
mlr_pipeops_subsample,
mlr_pipeops_targetinvert,
mlr_pipeops_targetmutate,
mlr_pipeops_targettrafoscalerange,
mlr_pipeops_textvectorizer,
mlr_pipeops_threshold,
mlr_pipeops_tunethreshold,
mlr_pipeops_unbranch,
mlr_pipeops_updatetarget,
mlr_pipeops_vtreat,
mlr_pipeops_yeojohnson,
mlr_pipeops
Other Multiplicity PipeOps:
Multiplicity(),
PipeOpEnsemble,
mlr_pipeops_featureunion,
mlr_pipeops_multiplicityexply,
mlr_pipeops_multiplicityimply,
mlr_pipeops_ovrsplit,
mlr_pipeops_ovrunite,
mlr_pipeops_regravg,
mlr_pipeops_replicate
Other Ensembles:
PipeOpEnsemble,
mlr_learners_avg,
mlr_pipeops_ovrunite,
mlr_pipeops_regravg
# NOT RUN {
library("mlr3")
# Simple Bagging
gr = ppl("greplicate",
po("subsample") %>>%
po("learner", lrn("classif.rpart")),
n = 3
) %>>%
po("classifavg")
resample(tsk("iris"), GraphLearner$new(gr), rsmp("holdout"))
# }
Run the code above in your browser using DataLab