ICSClust {ICSClust}R Documentation

Tandem clustering with ICS

Description

Sequential clustering approach: (i) dimension reduction through the Invariant Coordinate Selection method using the ICS function and (ii) clustering of the transformed data.

Usage

ICSClust(
  X,
  nb_select = NULL,
  nb_clusters = NULL,
  ICS_args = list(),
  criterion = c("med_crit", "normal_crit", "var_crit", "discriminatory_crit"),
  ICS_crit_args = list(),
  method = c("kmeans_clust", "tkmeans_clust", "pam_clust", "mclust_clust",
    "rmclust_clust", "rimle_clust"),
  clustering_args = list(),
  clusters = NULL
)

Arguments

X

a numeric matrix or data frame containing the data.

nb_select

the number of components to select. It is used only in case criterion is either "med_crit", "var_crit" or "discriminatory_crit". By default it is set to NULL, i.e the number of components to select is the number of clusters minus one.

nb_clusters

the number of clusters searched for.

ICS_args

list of ICS-S3 arguments. Otherwise, default values of ICS-S3 are used.

criterion

criterion to automatically decide which invariant components to keep. Possible values are "med_crit", "normal_crit", "var_crit" and "discriminatory_crit". The default value is "med_crit". See med_crit(), normal_crit(), var_crit() or discriminatory_crit() for more details.

ICS_crit_args

list of arguments passed to med_crit(), normal_crit(), var_crit() or
discriminatory_crit() for choosing the components to keep.

method

clustering method to perform. Currently implemented wrapper functions are "kmeans_clust", "tkmeans_clust", "pam_clust", "mclust_clust", "rmclust_clust" or "rimle_clust". The default value is "kmeans_clust".

clustering_args

list of kmeans_clust(), tkmeans_clust(), pam_clust(), rimle_clust(), mclust_clust() or rmclust_clust() arguments for performing cluster analysis.

clusters

a vector indicating the true clusters of the data. By default, it is NULL but it is required to choose the components based on the discriminatory criterion discriminatory_crit.

Details

Tandem clustering with ICS is a sequential method:

Value

An object of class "ICSClust" with the following components:

summary() and plot() methods are available.

Author(s)

Aurore Archimbaud

References

Alfons, A., Archimbaud, A., Nordhausen, K., & Ruiz-Gazen, A. (2022). Tandem clustering with invariant coordinate selection. arXiv preprint arXiv:2212.06108..

See Also

med_crit(), normal_crit(), var_crit(), ICS, discriminatory_crit(), kmeans_clust(), tkmeans_clust(), pam_clust(), rimle_clust(), mclust_clust() summary() and plot() methods

Examples

X <- iris[,1:4]

# indicating the number of components to retain for the dimension reduction
# step as well as the number of clusters searched for.
out <- ICSClust(X, nb_select = 2, nb_clusters = 3)
summary(out)
plot(out)

# changing the scatter pair to consider in ICS
out <- ICSClust(X, nb_select = 1, nb_clusters = 3,
ICS_args = list(S1 = ICS_mcd_raw, S2 = ICS_cov,S1_args = list(alpha = 0.5)))
summary(out)
plot(out)
 
# changing the criterion for choosing the invariant coordinates
out <- ICSClust(X, nb_clusters = 3, criterion = "normal_crit",
ICS_crit_args = list(level = 0.1, test = "anscombe.test", max_select = NULL))
summary(out)
plot(out)

# changing the clustering method
out <- ICSClust(X, nb_clusters = 3, method  = "tkmeans_clust", 
clustering_args = list(alpha = 0.1))
summary(out)
plot(out)

[Package ICSClust version 0.1.0 Index]