mlr_pipeops_ica: Independent Component Analysis

mlr_pipeops_icaR Documentation

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")



mlr3pipelines documentation built on May 31, 2023, 9:26 p.m.