Extracts statistically independent components from data. Only affects numerical features. See fastICA::fastICA for details.
Format
R6Class object inheriting from PipeOpTaskPreproc/PipeOp.
Construction
id::character(1)
Identifier of resulting object, default"ica".param_vals:: namedlist
List of hyperparameter settings, overwriting the hyperparameter settings that would otherwise be set during construction. Defaultlist().
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.
State
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:
Parameters
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 isNULL, 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 whenfunis "logcosh". Default is 1.0.method::character(1)
Internal calculation method. "C" (default) or "R". SeefastICA().row.norm::logical(1)
Logical value indicating whether rows should be standardized beforehand. Default isFALSE.maxit::numeric(1)
Maximum number of iterations. Default is 200.tol::numeric(1)
Tolerance for convergence, default is1e-4.verboselogical(1)
Logical value indicating the level of output during the run of the algorithm. Default isFALSE.w.init::matrix
Initial un-mixing matrix. SeefastICA(). Default isNULL.
Internals
Uses the fastICA() function.
Fields
Only fields inherited from PipeOp.
Methods
Only methods inherited from PipeOpTaskPreproc/PipeOp.
See also
https://mlr-org.com/pipeops.html
Other PipeOps:
PipeOp,
PipeOpEncodePL,
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_decode,
mlr_pipeops_encode,
mlr_pipeops_encodeimpact,
mlr_pipeops_encodelmer,
mlr_pipeops_encodeplquantiles,
mlr_pipeops_encodepltree,
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_learner_pi_cvplus,
mlr_pipeops_learner_quantiles,
mlr_pipeops_missind,
mlr_pipeops_modelmatrix,
mlr_pipeops_multiplicityexply,
mlr_pipeops_multiplicityimply,
mlr_pipeops_mutate,
mlr_pipeops_nearmiss,
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_tomek,
mlr_pipeops_tunethreshold,
mlr_pipeops_unbranch,
mlr_pipeops_updatetarget,
mlr_pipeops_vtreat,
mlr_pipeops_yeojohnson
Examples
library("mlr3")
task = tsk("iris")
pop = po("ica")
task$data()
#> Species Petal.Length Petal.Width Sepal.Length Sepal.Width
#> <fctr> <num> <num> <num> <num>
#> 1: setosa 1.4 0.2 5.1 3.5
#> 2: setosa 1.4 0.2 4.9 3.0
#> 3: setosa 1.3 0.2 4.7 3.2
#> 4: setosa 1.5 0.2 4.6 3.1
#> 5: setosa 1.4 0.2 5.0 3.6
#> ---
#> 146: virginica 5.2 2.3 6.7 3.0
#> 147: virginica 5.0 1.9 6.3 2.5
#> 148: virginica 5.2 2.0 6.5 3.0
#> 149: virginica 5.4 2.3 6.2 3.4
#> 150: virginica 5.1 1.8 5.9 3.0
pop$train(list(task))[[1]]$data()
#> Species V1 V2 V3 V4
#> <fctr> <num> <num> <num> <num>
#> 1: setosa 0.37500059 0.02943659 1.3924519 -0.2614936
#> 2: setosa -0.97225996 -0.08167029 1.3294610 -0.3857646
#> 3: setosa -0.34913589 -0.15929558 1.3492190 0.3572738
#> 4: setosa -0.38004875 0.31177235 1.2048972 0.8805817
#> 5: setosa 0.73635117 0.10791837 1.3728500 0.2002559
#> ---
#> 146: virginica -0.31596226 -2.59266317 -0.8292284 -1.2709946
#> 147: virginica -1.36041153 -1.05409554 -0.7570305 -0.7271920
#> 148: virginica 0.09333273 -0.98343101 -0.8277795 -0.3432144
#> 149: virginica 1.39423603 -1.76937234 -1.0485595 1.2489928
#> 150: virginica 0.57294721 0.04233626 -0.8751853 1.5511628
pop$state
#> $K
#> [,1] [,2] [,3] [,4]
#> [1,] -0.4180098 0.3531217 0.2735163 3.118456
#> [2,] -0.1748261 0.1537381 1.9583093 -4.897992
#> [3,] -0.1763375 -1.3373258 -2.0881803 -2.050340
#> [4,] 0.0412425 -1.4871770 2.1451574 2.077869
#>
#> $W
#> [,1] [,2] [,3] [,4]
#> [1,] -0.06938934 -0.012593052 0.98684804 0.1454561
#> [2,] -0.79805659 0.003084436 -0.14237669 0.5855126
#> [3,] 0.47946944 -0.596461056 -0.06824042 0.6400676
#> [4,] 0.35832924 0.802537295 -0.03468520 0.4757426
#>
#> $A
#> [,1] [,2] [,3] [,4]
#> [1,] 0.09053775 0.05276721 0.21348058 0.37160785
#> [2,] 0.06895140 -0.17444975 0.06613582 -0.06320762
#> [3,] -1.74870327 -0.73625778 -0.67223450 0.20890405
#> [4,] -0.15680615 -0.04289852 -0.42340889 -0.05462953
#>
#> $center
#> Petal.Length Petal.Width Sepal.Length Sepal.Width
#> 3.758000 1.199333 5.843333 3.057333
#>
#> $dt_columns
#> [1] "Petal.Length" "Petal.Width" "Sepal.Length" "Sepal.Width"
#>
#> $affected_cols
#> [1] "Petal.Length" "Petal.Width" "Sepal.Length" "Sepal.Width"
#>
#> $intasklayout
#> Key: <id>
#> id type
#> <char> <char>
#> 1: Petal.Length numeric
#> 2: Petal.Width numeric
#> 3: Sepal.Length numeric
#> 4: Sepal.Width numeric
#>
#> $outtasklayout
#> Key: <id>
#> id type
#> <char> <char>
#> 1: V1 numeric
#> 2: V2 numeric
#> 3: V3 numeric
#> 4: V4 numeric
#>
#> $outtaskshell
#> Empty data.table (0 rows and 5 cols): Species,V1,V2,V3,V4
#>
