Skip to main content

Invariant Coordinate Selection (ICS) for multivariate data analysis.

Project description

ICSpyLab

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.

Check out the documentation for more details.

Installation

pip install numpy pandas scipy scikit-learn seaborn matplotlib 
pip install icspylab

Usage

from icspylab import ICS, cov, covW
from sklearn.datasets import load_iris

# Load dataset
iris = load_iris()
X = iris.data

# Instantiate ICS object
# ics = ICS() # default parameters
ics = ICS(S1=cov, S2=covW, algorithm='standard', S2_args={'alpha': 1, 'cf': 2})

# Fit and transform the ICS model (equivalent of the function ICS-S3() from the R package ICS)
ics.fit_transform(X)

# Printing a summary
ics.describe()

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

icspylab-0.1.0-py3-none-any.whl (26.5 kB view details)

Uploaded Python 3

File details

Details for the file icspylab-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: icspylab-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 26.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.11.9

File hashes

Hashes for icspylab-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 16685c30c5b6dac48eaad9b0f65f393e4450dd8cb4b8ebf0f006f3b6a788aab7
MD5 1a2fb16b32337c86970dec80d50f972c
BLAKE2b-256 bb1592c6eee208773785840d1a09b03d7d864a602660c3ede859f86301cd46ea

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page