Welcome to ICSpyLab documentation!

Overview

Invariant Coordinate Selection (ICS) is a data transformation method. It transforms the data, via the simultaneous diagonalization of two scatter matrices, into an invariant coordinate system or independent components, depending on the underlying assumptions. It is particularly useful for dimension reduction. Unlike PCA, ICS is not based on variance maximization but on the maximization/minimization of a generalized kurtosis, and it is invariant not only to orthogonal data transformations but to any affine transformation.

This package brings the main functionalities of the ICS R package to Python, offering tools for identifying and selecting invariant coordinates in multivariate data. It includes various covariance estimators, transformation settings, and plotting utilities. Our extensive testing ensures results consistent with the R package, making it easy for users to transition from R to Python or start fresh with ICS.

You can find the source code for this project on our GitHub Repository.

Key Features

  • Implementation of the ICS model

  • Large catalogue of scatter matrices

  • Methods for component selection

  • Plotting capabilities for transformed data

Getting Started

For installation instructions and a quick start guide, see the Getting Started section. Some details about ICS and guidelines to use the package are also available.

Examples

For more detailed examples, refer to the Examples section.

API Documentation

The ICSpyLab package provides several modules to work with invariant coordinate selection. Each module is documented in the API Documentation section.

Testing

For details on testing, see the Testing page.

Contributors

For a list of contributors and their contact information, see the Contributors page.

Contribute

We welcome contributions of all kinds, including bug fixes, new features, and documentation improvements.

To get started, please check out our CONTRIBUTING guide.

Citation

If you use this package in academic work, please check out our Citation page.

References

For references, see the References page.

Indices