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.