Extracts non-negative components from data by performing non-negative matrix factorization. Only
affects non-negative numerical features. See 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 object returned by nmf().
The parameters are the parameters inherited from PipeOpTaskPreproc, as well as:
rank :: integer(1)
Factorization rank, i.e., number of components. Initialized to 2.
See nmf().
method :: character(1)
Specification of the NMF algorithm. Initialized to "brunet".
See nmf().
seed :: character(1) | integer(1) | list() | object of class NMF | function()
Specification of the starting point.
See nmf().
nrun :: integer(1)
Number of runs to performs. Default is 1.
More than a single run allows for the computation of a consensus matrix which will also be stored in the $state.
See nmf().
debug :: logical(1)
Whether to toggle debug mode. Default is FALSE.
See nmf().
keep.all :: logical(1)
Whether all factorizations are to be saved and returned. Default is FALSE.
Only has an effect if nrun > 1.
See nmf().
parallel :: character(1) | integer(1) | logical(1)
Specification of parallel handling if nrun > 1.
Initialized to FALSE, as it is recommended to use mlr3's future-based parallelization.
See nmf().
parallel.required :: character(1) | integer(1) | logical(1)
Same as parallel, but an error is thrown if the computation cannot be performed in parallel or
with the specified number of processors.
Initialized to FALSE, as it is recommended to use mlr3's future-based parallelization.
See nmf().
shared.memory :: logical(1)
Whether shared memory should be enabled.
See nmf().
simplifyCB :: logical(1)
Whether callback results should be simplified. Default is TRUE.
See nmf().
track :: logical(1)
Whether error tracking should be enabled. Default is FALSE.
See nmf().
verbose :: integer(1) | logical(1)
Specification of verbosity. Default is FALSE.
See nmf().
pbackend :: character(1) | integer(1) | NULL
Specification of the parallel backend.
It is recommended to use mlr3's future-based parallelization.
See nmf().
callback | function()
Callback function that is called after each run (if nrun > 1).
See nmf().
Only methods inherited from PipeOpTaskPreproc/PipeOp.
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_copy,
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_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
if (requireNamespace("NMF")) {
if (requireNamespace("MASS")) {
if (requireNamespace("NMF")) {
library("mlr3")
task = tsk("iris")
pop = po("nmf")
task$data()
pop$train(list(task))[[1]]$data()
pop$state
}
try(rm("format.list", envir = .BaseNamespaceEnv$.__S3MethodsTable__.), silent = TRUE) # BiocGenerics overwrites printer for our tables mlr-org/mlr3#1112
}
}
Run the code above in your browser using DataLab