Perform (weighted) majority vote prediction from classification Prediction
s by connecting
PipeOpClassifAvg
to multiple PipeOpLearner
outputs.
If the incoming Learner
's
$predict_type
is set to "response"
, the prediction obtained is also a "response"
prediction
with each instance predicted to the prediction from incoming Learner
s with the
highest total weight. 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.
R6Class
inheriting from PipeOpEnsemble
/PipeOp
.
PipeOpClassifAvg$new(innum = 0, 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.
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
.
Other PipeOps:
PipeOpEnsemble
,
PipeOpImpute
,
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_copy
,
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_imputehist
,
mlr_pipeops_imputemean
,
mlr_pipeops_imputemedian
,
mlr_pipeops_imputenewlvl
,
mlr_pipeops_imputesample
,
mlr_pipeops_kernelpca
,
mlr_pipeops_learner
,
mlr_pipeops_missind
,
mlr_pipeops_modelmatrix
,
mlr_pipeops_mutate
,
mlr_pipeops_nop
,
mlr_pipeops_pca
,
mlr_pipeops_quantilebin
,
mlr_pipeops_regravg
,
mlr_pipeops_removeconstants
,
mlr_pipeops_scalemaxabs
,
mlr_pipeops_scalerange
,
mlr_pipeops_scale
,
mlr_pipeops_select
,
mlr_pipeops_smote
,
mlr_pipeops_spatialsign
,
mlr_pipeops_subsample
,
mlr_pipeops_unbranch
,
mlr_pipeops_yeojohnson
,
mlr_pipeops
Other Ensembles:
PipeOpEnsemble
,
mlr_learners_avg
,
mlr_pipeops_regravg
# NOT RUN {
library("mlr3")
# Simple Bagging
gr = greplicate(n = 5,
po("subsample") %>>%
po("learner", lrn("classif.rpart"))
) %>>%
po("classifavg")
mlr3::resample(tsk("iris"), GraphLearner$new(gr), rsmp("holdout"))
# }
Run the code above in your browser using DataLab