mlr3pipelines (version 0.3.4)

mlr_pipeops_ica: Independent Component Analysis


Extracts statistically independent components from data. Only affects numerical features. See fastICA::fastICA for details.



R6Class object inheriting from PipeOpTaskPreproc/PipeOp.


PipeOpICA$new(id = "ica", param_vals = list())
  • id :: character(1) Identifier of resulting object, default "ica".

  • 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

Input and output channels are inherited from PipeOpTaskPreproc.

The output is the input Task with all affected numeric parameters replaced by independent components.


The $state is a named list with the $state elements inherited from PipeOpTaskPreproc, as well as the elements of the function fastICA::fastICA(), with the exception of the $X and $S slots. These are in particular:

  • K :: matrix Matrix that projects data onto the first n.comp principal components. See fastICA().

  • W :: matrix Estimated un-mixing matrix. See fastICA().

  • A :: matrix Estimated mixing matrix. See fastICA().

  • center :: numeric The mean of each numeric feature during training.


The parameters are the parameters inherited from PipeOpTaskPreproc, as well as the following parameters based on fastICA():

  • n.comp :: numeric(1) Number of components to extract. Default is NULL, which sets it to the number of available numeric columns.

  • alg.typ:: character(1) Algorithm type. One of "parallel" (default) or "deflation".

  • fun :: character(1) One of "logcosh" (default) or "exp".

  • alpha :: numeric(1) In range [1, 2], Used for negentropy calculation when fun is "logcosh". Default is 1.0.

  • method :: character(1) Internal calculation method. "C" (default) or "R". See fastICA().

  • row.norm :: logical(1) Logical value indicating whether rows should be standardized beforehand. Default is FALSE.

  • maxit :: numeric(1) Maximum number of iterations. Default is 200.

  • tol :: numeric(1) Tolerance for convergence, default is 1e-4.

  • verbose logical(1) Logical value indicating the level of output during the run of the algorithm. Default is FALSE.

  • w.init:: matrix Initial un-mixing matrix. See fastICA(). Default is NULL.


Uses the fastICA() function.


Only methods inherited from PipeOpTaskPreproc/PipeOp.

See Also

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_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



task = tsk("iris")
pop = po("ica")


# }