Copies its input outnum
times. This PipeOp usually not needed,
because copying happens automatically when one PipeOp
is followed
by multiple different PipeOp
s. However, when constructing big
Graphs using the %>>%
-operator, PipeOpCopy
can be helpful to
specify which PipeOp
gets connected to which.
Construction
outnum
::numeric(1)
Number of output channels, and therefore number of copies being made.id
::character(1)
Identifier of resulting object, default"copy"
.param_vals
:: namedlist
List of hyperparameter settings, overwriting the hyperparameter settings that would otherwise be set during construction. Defaultlist()
.
Input and Output Channels
PipeOpCopy
has one input channel named "input"
, taking any input ("*"
) both during training and prediction.
PipeOpCopy
has multiple output channels depending on the outnum
construction argument, named "output1"
, "output2"
, ...
All output channels produce the object given as input ("*"
).
State
The $state
is left empty (list()
).
Internals
Note that copies are not clones, but only reference copies. This affects R6-objects: If R6 objects are copied using PipeOpCopy, they must be cloned before
Fields
Only fields inherited from PipeOp
.
Methods
Only methods inherited from PipeOp
.
See also
https://mlr-org.com/pipeops.html
Other PipeOps:
PipeOp
,
PipeOpEnsemble
,
PipeOpImpute
,
PipeOpTargetTrafo
,
PipeOpTaskPreproc
,
PipeOpTaskPreprocSimple
,
mlr_pipeops
,
mlr_pipeops_adas
,
mlr_pipeops_blsmote
,
mlr_pipeops_boxcox
,
mlr_pipeops_branch
,
mlr_pipeops_chunk
,
mlr_pipeops_classbalancing
,
mlr_pipeops_classifavg
,
mlr_pipeops_classweights
,
mlr_pipeops_colapply
,
mlr_pipeops_collapsefactors
,
mlr_pipeops_colroles
,
mlr_pipeops_datefeatures
,
mlr_pipeops_encode
,
mlr_pipeops_encodeimpact
,
mlr_pipeops_encodelmer
,
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_rowapply
,
mlr_pipeops_scale
,
mlr_pipeops_scalemaxabs
,
mlr_pipeops_scalerange
,
mlr_pipeops_select
,
mlr_pipeops_smote
,
mlr_pipeops_smotenc
,
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
Other Placeholder Pipeops:
mlr_pipeops_nop
Examples
# The following copies the output of 'scale' automatically to both
# 'pca' and 'nop'
po("scale") %>>%
gunion(list(
po("pca"),
po("nop")
))
#> Graph with 3 PipeOps:
#> ID State sccssors prdcssors
#> <char> <char> <char> <char>
#> scale <<UNTRAINED>> pca,nop
#> pca <<UNTRAINED>> scale
#> nop <<UNTRAINED>> scale
# The following would not work: the '%>>%'-operator does not know
# which output to connect to which input
# > gunion(list(
# > po("scale"),
# > po("select")
# > )) %>>%
# > gunion(list(
# > po("pca"),
# > po("nop"),
# > po("imputemean")
# > ))
# Instead, the 'copy' operator makes clear which output gets copied.
gunion(list(
po("scale") %>>% mlr_pipeops$get("copy", outnum = 2),
po("select")
)) %>>%
gunion(list(
po("pca"),
po("nop"),
po("imputemean")
))
#> Graph with 6 PipeOps:
#> ID State sccssors prdcssors
#> <char> <char> <char> <char>
#> scale <<UNTRAINED>> copy
#> select <<UNTRAINED>> imputemean
#> copy <<UNTRAINED>> pca,nop scale
#> imputemean <<UNTRAINED>> select
#> pca <<UNTRAINED>> copy
#> nop <<UNTRAINED>> copy