npls
npls - this module is a Python library for the N-PLS1 regression with L1 and L2-regularization.
Installation
Install the current version with PyPI:
pip install npls
Or from Github:
pip install https://github.com/89605502155/npls/main.zip
Usage
You can fit your own regression model. n_components - is a number of components of SVD decomposition and l2 is a parameter of L2-regularization (Ridge) and l1 is a parameter of L1-regularization (LASSO), excitation_wavelenth - is an excitation wavelenth of fluor. (if you have not excitation wavelenth you can write list with len equal first shape of X_train),emission_wavelenth is an emission wavelenth. X_train - is a 3d-array. y_train -is a vector.
from npls import npls
model=npls(n_components=4, l2=0.09)
model.fit(X_train,y_train)
#components of svd-decomposition
w_i=model.w_i
w_k=model.w_k
#predict
y_predicted=model.predict(X_test)
If you want to use snr, you need input excitation_wavelenth and emission_wavelenth, crash_norm_name and crash_norm_value and norm_func and derivative_rang. Example:
from npls import npls
model=npls(crash_norm_name='evklid',derivative_rang=[1],
emission_wavelenth=np.array([1,2,3]),
excitation_wavelenth=np.array([1,2,3]),
crash_norm_value=9)
and with use L2 and N components:
from npls import npls
model=npls(crash_norm_name='evklid',derivative_rang=[1],
emission_wavelenth=np.array([1,2,3]),
excitation_wavelenth=np.array([1,2,3]),
crash_norm_value=9,n_components=4, l2=0.09)
Example
You can use this library with Scikit-learn library. For example, we can use GridSearchCV.
If you installed a module from PyPi, you should to import it like this: from npls import npls
If from GitHub or source: from npls import npls
from npls import npls
from sklearn.metrics import mean_squared_error
from sklearn.metrics import r2_score, make_scorer
import sklearn
from sklearn.model_selection import GridSearchCV
npls1=npls(excitation_wavelenth=[501,552],emission_wavelenth=[553,604])
#you can use many error metrics
scoring={'mse': make_scorer(mean_squared_error),'r2':'r2'}
parametrsNames={'n_components': [4],
'l2': np.logspace(-25, 25,num = 51),
'l1': np.logspace(-25, 25,num = 51)
}
gridCought=GridSearchCV(npls1, parametrsNames, cv=5,
scoring=scoring,refit='r2',return_train_score=True)
gridCought.fit(X_train,y_train)
#errors
r2_p=gridCought.score(X_test.copy(), y_test.copy())
mse_cv=gridCought.cv_results_[ "mean_test_mse" ]
mse_c=gridCought.cv_results_[ "mean_train_mse" ]
r2_cv=gridCought.cv_results_[ "mean_test_r2" ]
r2_c=gridCought.cv_results_[ "mean_train_r2" ]
Metadata
Release files for npls 0.0.7
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| npls-0.0.7.tar.gz | 17.2 kB | Without provenance | Details for npls-0.0.7.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| npls-0.0.7-py3-none-any.whl | Python 3 | none | any | Details for npls-0.0.7-py3-none-any.whl |
Total release size: 34.2 kB
Release files / npls-0.0.7.tar.gz
| Download URL | npls-0.0.7.tar.gz |
|---|---|
| Size | 17.2 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
bec96b75f66a6c5745062817221f8c16f08b61f26c88af1efb658a1e22d265af
|
|
BLAKE2b-256 checksum How to use checksums |
bea3a63ded5409d85cba761156712bd0cb3310dfc13601811dd7aca8da61a68c
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.11.21 {"installer":{"name":"uv","version":"0.11.21","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":null,"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
|
Release files / npls-0.0.7-py3-none-any.whl
| Download URL | npls-0.0.7-py3-none-any.whl |
|---|---|
| Size | 17.0 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
66d545055583f0bb9a08b0966f5d93579fb59aff8c279300f3220e470b78a038
|
|
BLAKE2b-256 checksum How to use checksums |
71bab3114922a2e2c728630a44365075b9ebd86d042d357ef198f56ce5797b27
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.11.21 {"installer":{"name":"uv","version":"0.11.21","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":null,"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
|
Security for npls 0.0.7
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.