FREEDOM251

Freedom251 › Statistical Analysis Software

IKPLS

Free plan LinuxMacWindows

Visit IKPLS Alternatives

IKPLS's own site

What IKPLS is

IKPLS is a free Python package for partial least squares modeling, intended for researchers and practitioners, including work with large datasets. It implements Improved Kernel PLS Algorithms 1 and 2 through NumPy CPU code and optional JAX code for CPUs, GPUs, and TPUs. The NumPy implementation includes a scikit-learn-conformant PLS wrapper for pipelines and cross-validation tools. JAX implementations support end-to-end differentiation, allowing PLS to pass gradients when used in a deep-learning model. A fast cross-validation method is described as mathematically equivalent to classical cross-validation. It can center and scale columns from training-set statistics to avoid validation leakage and apply sample-wise preprocessing such as convolution. NumPy and JAX versions support sample-weighted modeling, transform methods to score space, and inverse transforms for reconstruction. Documentation and examples cover fitting, prediction, and cross-validation. Installation uses pip, with an optional JAX extra; Python 3.10 through 3.14 is listed as required.

Who it suits

IKPLS suits researchers and practitioners doing PLS modeling, especially with large datasets. It is also relevant to users who need scikit-learn pipelines, accelerator support, weighting, or differentiable JAX models.

What it does well

  • Free package with Apache-2.0 license
  • CPU, GPU, and TPU implementations
  • Scikit-learn-conformant wrapper
  • Fast cross-validation with leakage-aware preprocessing
  • Supports weighted models and reconstruction transforms

What to know first

  • Requires Python 3.10 through 3.14
  • JAX implementations require an optional extra
  • Desktop package requires Python installation

Verdict

IKPLS provides PLS algorithms with NumPy and optional JAX implementations, plus scikit-learn integration and accelerated computation. Its preprocessing, weighting, transformation, and differentiation features cover varied modeling workflows.

Facts from IKPLS's own pages

Algorithms
It implements Improved Kernel PLS Algorithms 1 and 2 for CPU, GPU, and TPU use. · ikpls.readthedocs.io, 12 Oct 2026
Audience
The project describes its intended users as researchers and practitioners doing PLS modeling. · ikpls.readthedocs.io, 12 Oct 2026
Compute
Its NumPy implementations run on CPUs, and its JAX implementations support CPUs, GPUs, and TPUs. · ikpls.readthedocs.io, 12 Oct 2026
Deployment
desktop · ikpls.readthedocs.io, 23 Sept 2026
Differentiability
The JAX implementations are end-to-end differentiable, allowing gradient propagation when PLS is used as a layer in a deep learning model. · ikpls.readthedocs.io, 12 Oct 2026
Documentation and examples
The project provides online documentation and examples covering fitting, prediction, and cross-validation with NumPy, JAX, and scikit-learn. · ikpls.readthedocs.io, 12 Oct 2026
Fast cross-validation
The package includes a fast cross-validation algorithm described as mathematically equivalent to classical cross-validation and quicker to run. · ikpls.readthedocs.io, 12 Oct 2026
Free plan
Yes · ikpls.readthedocs.io, 23 Sept 2026
Installation
The package installs with pip using `pip3 install ikpls`; JAX implementations require the optional `jax` extra. · ikpls.readthedocs.io, 12 Oct 2026
Installation requirement
PyPI lists the requirement as Python >=3.10 and <3.15. · pypi.org, 12 Oct 2026
JAX
Optional JAX implementations run on CPU, GPU, and TPU and support end-to-end differentiation. · ikpls.readthedocs.io, 12 Oct 2026
License
PyPI lists the package under the Apache-2.0 license. · pypi.org, 12 Oct 2026
NumPy and scikit-learn
The NumPy CPU implementation includes a scikit-learn-conformant PLS wrapper that works with scikit-learn pipelines and cross-validation. · ikpls.readthedocs.io, 12 Oct 2026
Preprocessing
Fast cross-validation handles column-wise centering and scaling using training-set statistics to avoid validation-set data leakage, as well as sample-wise preprocessing such as convolution. · ikpls.readthedocs.io, 12 Oct 2026
Purpose
IKPLS is a Python package for fast partial least squares modeling, aimed at researchers and practitioners, particularly those working with large datasets. · ikpls.readthedocs.io, 12 Oct 2026
Regression models
Yes · ikpls.readthedocs.io, 23 Sept 2026
Sample weights
The NumPy and JAX implementations support sample-weighted PLS modeling. · ikpls.readthedocs.io, 12 Oct 2026
scikit-learn integration
The scikit-learn-conformant PLS wrapper can be used with scikit-learn pipelines and cross-validation tools. · ikpls.readthedocs.io, 12 Oct 2026
Scripting support
Yes · ikpls.readthedocs.io, 23 Sept 2026
Support
The contribution guidelines direct users with questions or bug reports to search or open a GitHub issue. · ikpls.readthedocs.io, 12 Oct 2026
Transformations
NumPy and JAX implementations provide transform methods for dimensionality reduction to score space and inverse_transform methods for reconstruction. · ikpls.readthedocs.io, 12 Oct 2026
Weighted modeling
The package supports sample-weighted PLS modeling. · ikpls.readthedocs.io, 12 Oct 2026

Where IKPLS stands on Freedom251

Look at these too