Extracts non-negative components from data by performing non-negative matrix factorization. Only
affects non-negative numerical features. See NMF::nmf() for details.
R6Class object inheriting from PipeOpTaskPreproc/PipeOp.
PipeOpNMF$new(id = "nmf", param_vals = list())
id :: character(1)
Identifier of resulting object, default "nmf".
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 PipeOpTaskPreproc.
The output is the input Task with all affected numeric features replaced by their
non-negative components.
The $state is a named list with the $state elements inherited from PipeOpTaskPreproc,
as well as the elements of the class returned by nmf().
The parameters are the parameters inherited from PipeOpTaskPreproc, as well as:
rank :: integer(1)
Factorization rank, i.e., number of components. Default is 2. See nmf().
method :: character(1)
Specification of the NMF algorithm. Default is "brunet". See nmf().
seed :: numeric(1)
Specification of the starting point. See nmf().
nrun :: integer(1)
Number of runs to performs. More than a single run allows for the computation of a consensus
matrix which will also be stored in the $state. See nmf().
options :: named list
Named list of additional parameters. Default is list(). See .options in nmf().
Initialized to parameters parallel and parallel.required set to FALSE, as it is recommended
to use mlr3's future-based parallelization.
Only methods inherited from PipeOpTaskPreproc/PipeOp.
Other PipeOps:
PipeOpEnsemble,
PipeOpImpute,
PipeOpTargetTrafo,
PipeOpTaskPreprocSimple,
PipeOpTaskPreproc,
PipeOp,
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_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_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
# NOT RUN {
library("mlr3")
task = tsk("iris")
pop = po("nmf")
task$data()
pop$train(list(task))[[1]]$data()
pop$state
# }
Run the code above in your browser using DataLab