Skip to main content

Python package for domain adaptation in multivariate regression

Project description

Domain-invariant partial least squares regression (di-PLS)

Python implementation of (m)di-PLS for domain adaptation in multivariate regression problems.

Installation

pip install diPLSlib

Usage

How to apply di-PLS

Train regression model

from diPLSlib.models import DIPLS
from diPLSlib.utils import misc

l = [100000] #  Regularization
m = DIPLS(A=2, l=l)
m.fit(X, y, X_source, X_target)

# Typically X=X_source and y are the corresponding response values

Apply the model

yhat_dipls = m.predict(X_test)
err = misc.rmse(y_test, yhat_dipls)

How to apply mdi-PLS

from diPLSlib.models import DIPLS

l = [100000] #  Regularization
m = DIPLS(A=2, l=l, target_domain=2)
m.fit(X, y, X_source, X_target)

# X_target = [X1, X2, ... , Xk] is a list of target domain data
# The parameter target_domain specifies for which domain the model should be trained (here X2).

How to apply GCT-PLS

from diPLSlib.models import GCTPLS

# Training
l = [10] #  Regularization
m = GCTPLS(A=2, l=l)
m.fit(X, y, X_source, X_target)

# X_source and X_target hold the same samples measured in the source and target domain, respectively.

Documentation

The documentation can be found here.

Acknowledgements

The first version of di-PLS was developed by Ramin Nikzad-Langerodi, Werner Zellinger, Edwin Lughofer, Bernhard Moser and Susanne Saminger-Platz and published in:

Further refinements to the initial algorithm were published in:

  • R. Nikzad-Langerodi, W. Zellinger, S. Saminger-Platz and B. Moser, "Domain-Invariant Regression Under Beer-Lambert's Law," 2019 18th IEEE International Conference On Machine Learning And Applications (ICMLA), Boca Raton, FL, USA, 2019, pp. 581-586, https://doi.org/10.1109/ICMLA.2019.00108.

  • Ramin Nikzad-Langerodi, Werner Zellinger, Susanne Saminger-Platz, Bernhard A. Moser, Domain adaptation for regression under Beer–Lambert’s law, Knowledge-Based Systems, Volume 210, 2020, https://doi.org/10.1016/j.knosys.2020.106447.

  • Bianca Mikulasek, Valeria Fonseca Diaz, David Gabauer, Christoph Herwig, Ramin Nikzad-Langerodi, "Partial least squares regression with multiple domains" Journal of Chemometrics 2023 37 (5), e3477, https://doi.org/10.13140/RG.2.2.23750.75845

  • Ramin Nikzad-Langerodi & Florian Sobieczky (2021). Graph‐based calibration transfer. Journal of Chemometrics, 35(4), e3319. https://doi.org/10.1002/cem.3319

Contact us

Bottleneck Analytics GmbH
info@bottleneck-analytics.com

Project details


Download files

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

Source Distribution

diplslib-2.2.0.tar.gz (23.7 kB view details)

Uploaded Source

Built Distribution

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

diPLSlib-2.2.0-py3-none-any.whl (27.7 kB view details)

Uploaded Python 3

File details

Details for the file diplslib-2.2.0.tar.gz.

File metadata

  • Download URL: diplslib-2.2.0.tar.gz
  • Upload date:
  • Size: 23.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.13.0

File hashes

Hashes for diplslib-2.2.0.tar.gz
Algorithm Hash digest
SHA256 f97399fdccacaece8273103897dfb858eb95b9e27407007b82b885f3e8a0b61a
MD5 d8055c9d9f3a203f1c4989d9c50f474a
BLAKE2b-256 2a8bbb08a80a2e93d4f44e116e951290bc593c10bae878dc9a60218114284747

See more details on using hashes here.

File details

Details for the file diPLSlib-2.2.0-py3-none-any.whl.

File metadata

  • Download URL: diPLSlib-2.2.0-py3-none-any.whl
  • Upload date:
  • Size: 27.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.13.0

File hashes

Hashes for diPLSlib-2.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 440b9baa769dd147d792e858624d6c97396cd67377509c0fd01be278821bbaa9
MD5 cb14b98707ac3bdd61dabbc8b22bf969
BLAKE2b-256 cd5fde1025870545fa3ad742095a7bba5a11f713eb54f88475d396bac2942696

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