nirs4all.operators.models.sklearn.nlpls module

Nonlinear PLS (NL-PLS / Kernel PLS) regressor for nirs4all.

A sklearn-compatible implementation of Nonlinear PLS using kernel methods. This approach maps the data into a higher-dimensional feature space using a kernel function (e.g., RBF) and then fits a standard PLS model on the kernel matrix.

Supports both NumPy (CPU) and JAX (GPU/TPU) backends.

Two implementations are provided:

  1. KernelPLS (KPLS) - Simple Kernel PLS Maps X into kernel space using a nonlinear kernel (RBF, polynomial, etc.) and fits PLS on the kernel matrix K = kernel(X, X).

  2. MIRPLS - Monotonic Inner Relation PLS (experimental) Implements the MIR-PLS algorithm from Zheng et al. (2024) which uses monotonic cubic spline piecewise regression for the inner model.

References

  • Rosipal, R., & Trejo, L. J. (2001). Kernel partial least squares regression in reproducing kernel hilbert space. Journal of Machine Learning Research, 2, 97-123.

  • Zheng, X., Nie, B., Du, J., et al. (2024). A non-linear partial least squares based on monotonic inner relation. Frontiers in Physiology, 15, 1369165. doi:10.3389/fphys.2024.1369165

  • Qin, S. J., & McAvoy, T. J. (1992). Nonlinear PLS modeling using neural networks. Computers & Chemical Engineering, 16(4), 379-391.

nirs4all.operators.models.sklearn.nlpls.KPLS

alias of KernelPLS