IKPLS: Improved Kernel Partial Least Squares and Fast Cross-Validation Algorithms for Python with CPU and GPU Implementations Using NumPy and JAX

Research output: Contribution to journalJournal articleResearchpeer-review

Standard

IKPLS : Improved Kernel Partial Least Squares and Fast Cross-Validation Algorithms for Python with CPU and GPU Implementations Using NumPy and JAX. / Engstrøm, Ole-Christian Galbo; Dreier, Erik Schou; Jespersen, Birthe P Møller; Steenstrup Pedersen, Kim.

In: The Journal of Open Source Software, Vol. 9, No. 99, 6533, 2024.

Research output: Contribution to journalJournal articleResearchpeer-review

Harvard

Engstrøm, O-CG, Dreier, ES, Jespersen, BPM & Steenstrup Pedersen, K 2024, 'IKPLS: Improved Kernel Partial Least Squares and Fast Cross-Validation Algorithms for Python with CPU and GPU Implementations Using NumPy and JAX', The Journal of Open Source Software, vol. 9, no. 99, 6533. https://doi.org/10.21105/joss.06533

APA

Engstrøm, O-C. G., Dreier, E. S., Jespersen, B. P. M., & Steenstrup Pedersen, K. (2024). IKPLS: Improved Kernel Partial Least Squares and Fast Cross-Validation Algorithms for Python with CPU and GPU Implementations Using NumPy and JAX. The Journal of Open Source Software, 9(99), [6533]. https://doi.org/10.21105/joss.06533

Vancouver

Engstrøm O-CG, Dreier ES, Jespersen BPM, Steenstrup Pedersen K. IKPLS: Improved Kernel Partial Least Squares and Fast Cross-Validation Algorithms for Python with CPU and GPU Implementations Using NumPy and JAX. The Journal of Open Source Software. 2024;9(99). 6533. https://doi.org/10.21105/joss.06533

Author

Engstrøm, Ole-Christian Galbo ; Dreier, Erik Schou ; Jespersen, Birthe P Møller ; Steenstrup Pedersen, Kim. / IKPLS : Improved Kernel Partial Least Squares and Fast Cross-Validation Algorithms for Python with CPU and GPU Implementations Using NumPy and JAX. In: The Journal of Open Source Software. 2024 ; Vol. 9, No. 99.

Bibtex

@article{9caef52d3fd4458a8b153f30eefddf16,
title = "IKPLS: Improved Kernel Partial Least Squares and Fast Cross-Validation Algorithms for Python with CPU and GPU Implementations Using NumPy and JAX",
abstract = "The ikpls software package provides fast and efficient tools for PLS (Partial Least Squares)modeling. This package is designed to help researchers and practitioners handle PLS modelingfaster than previously possible - particularly on large datasets. The PLS implementations inikpls use the fast IKPLS (Improved Kernel PLS) algorithms (Dayal & MacGregor, 1997),providing a substantial speedup compared to scikit-learn{\textquoteright}s (Pedregosa et al., 2011) PLSimplementation, which is based on NIPALS (Nonlinear Iterative Partial Least Squares) (H.Wold, 1966). The ikpls package also offers an implementation of IKPLS combined withthe fast cross-validation algorithm by O.-C. G. Engstr{\o}m (2024), significantly acceleratingcross-validation of PLS models - especially when using a large number of cross-validation splits.ikpls offers NumPy-based CPU and JAX-based CPU/GPU/TPU implementations. TheJAX implementations are also differentiable, allowing seamless integration with deep learningtechniques. This versatility enables users to handle diverse data dimensions efficiently.In conclusion, ikpls empowers researchers and practitioners in machine learning, chemometrics,and related fields with efficient, scalable, and end-to-end differentiable tools for PLS modeling,facilitating optimal component selection and preprocessing decisions by offering implementationsof1. both variants of IKPLS for CPUs;2. both variants of IKPLS for GPUs, both of which are end-to-end differentiable, allowingintegration with deep learning models;3. IKPLS combined with a cross-validation algorithm that yields a substantial speedupcompared to the classical cross-validation algorithm.",
author = "Engstr{\o}m, {Ole-Christian Galbo} and Dreier, {Erik Schou} and Jespersen, {Birthe P M{\o}ller} and {Steenstrup Pedersen}, Kim",
year = "2024",
doi = "10.21105/joss.06533",
language = "English",
volume = "9",
journal = "The Journal of Open Source Software",
issn = "2475-9066",
publisher = "Open Journals",
number = "99",

}

RIS

TY - JOUR

T1 - IKPLS

T2 - Improved Kernel Partial Least Squares and Fast Cross-Validation Algorithms for Python with CPU and GPU Implementations Using NumPy and JAX

AU - Engstrøm, Ole-Christian Galbo

AU - Dreier, Erik Schou

AU - Jespersen, Birthe P Møller

AU - Steenstrup Pedersen, Kim

PY - 2024

Y1 - 2024

N2 - The ikpls software package provides fast and efficient tools for PLS (Partial Least Squares)modeling. This package is designed to help researchers and practitioners handle PLS modelingfaster than previously possible - particularly on large datasets. The PLS implementations inikpls use the fast IKPLS (Improved Kernel PLS) algorithms (Dayal & MacGregor, 1997),providing a substantial speedup compared to scikit-learn’s (Pedregosa et al., 2011) PLSimplementation, which is based on NIPALS (Nonlinear Iterative Partial Least Squares) (H.Wold, 1966). The ikpls package also offers an implementation of IKPLS combined withthe fast cross-validation algorithm by O.-C. G. Engstrøm (2024), significantly acceleratingcross-validation of PLS models - especially when using a large number of cross-validation splits.ikpls offers NumPy-based CPU and JAX-based CPU/GPU/TPU implementations. TheJAX implementations are also differentiable, allowing seamless integration with deep learningtechniques. This versatility enables users to handle diverse data dimensions efficiently.In conclusion, ikpls empowers researchers and practitioners in machine learning, chemometrics,and related fields with efficient, scalable, and end-to-end differentiable tools for PLS modeling,facilitating optimal component selection and preprocessing decisions by offering implementationsof1. both variants of IKPLS for CPUs;2. both variants of IKPLS for GPUs, both of which are end-to-end differentiable, allowingintegration with deep learning models;3. IKPLS combined with a cross-validation algorithm that yields a substantial speedupcompared to the classical cross-validation algorithm.

AB - The ikpls software package provides fast and efficient tools for PLS (Partial Least Squares)modeling. This package is designed to help researchers and practitioners handle PLS modelingfaster than previously possible - particularly on large datasets. The PLS implementations inikpls use the fast IKPLS (Improved Kernel PLS) algorithms (Dayal & MacGregor, 1997),providing a substantial speedup compared to scikit-learn’s (Pedregosa et al., 2011) PLSimplementation, which is based on NIPALS (Nonlinear Iterative Partial Least Squares) (H.Wold, 1966). The ikpls package also offers an implementation of IKPLS combined withthe fast cross-validation algorithm by O.-C. G. Engstrøm (2024), significantly acceleratingcross-validation of PLS models - especially when using a large number of cross-validation splits.ikpls offers NumPy-based CPU and JAX-based CPU/GPU/TPU implementations. TheJAX implementations are also differentiable, allowing seamless integration with deep learningtechniques. This versatility enables users to handle diverse data dimensions efficiently.In conclusion, ikpls empowers researchers and practitioners in machine learning, chemometrics,and related fields with efficient, scalable, and end-to-end differentiable tools for PLS modeling,facilitating optimal component selection and preprocessing decisions by offering implementationsof1. both variants of IKPLS for CPUs;2. both variants of IKPLS for GPUs, both of which are end-to-end differentiable, allowingintegration with deep learning models;3. IKPLS combined with a cross-validation algorithm that yields a substantial speedupcompared to the classical cross-validation algorithm.

U2 - 10.21105/joss.06533

DO - 10.21105/joss.06533

M3 - Journal article

VL - 9

JO - The Journal of Open Source Software

JF - The Journal of Open Source Software

SN - 2475-9066

IS - 99

M1 - 6533

ER -

ID: 401142043