Constrained Linear Regression with sklearn-compatible API
Project description
Constrained Linear Regression
constrainedlr is a drop-in replacement for scikit-learn
's linear_model.LinearRegression
with the extended capability to apply constraints on the model's coefficients, such as signs and lower/upper bounds.
Installation
pip install constrainedlr
Example Usage
Coefficients sign constraints
from constrainedlr import ConstrainedLinearRegression
model = ConstrainedLinearRegression()
model.fit(
X_train,
y_train,
coefficients_sign_constraints={0: "positive", 2: "negative"},
intercept_sign_constraint="positive",
)
y_pred = model.predict(X_test)
print(model.coef_, model.intercept_)
Coefficients range constraints
from constrainedlr import ConstrainedLinearRegression
model = ConstrainedLinearRegression()
model.fit(
X_train,
y_train,
coefficients_range_constraints={
0: {"lower": 2}, # 1st coefficient must be 2 or higher
2: {"upper": 10}, # 3rd coefficient must be smaller than 10
3: {"lower": 0.1, "upper": 0.5}, # 4th coefficient must be between 0.1 and 0.5
},
)
y_pred = model.predict(X_test)
print(model.coef_)
See more in the documentation
Licence
MIT
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
constrainedlr-0.2.0.tar.gz
(11.1 kB
view details)
Built Distribution
File details
Details for the file constrainedlr-0.2.0.tar.gz
.
File metadata
- Download URL: constrainedlr-0.2.0.tar.gz
- Upload date:
- Size: 11.1 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.0.0 CPython/3.11.4
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 734810e9453bcb13cc7cb3c15b947a0cc9094e5fec8f164d1ddbbb1edae1c55c |
|
MD5 | c0eeb8ceef9dcc9651be47a49a92f6c2 |
|
BLAKE2b-256 | 6b9a997cd1da88cb8d2e7b194b46850cd89e035c559b3a3cfda11e155c3d46c7 |
File details
Details for the file constrainedlr-0.2.0-py3-none-any.whl
.
File metadata
- Download URL: constrainedlr-0.2.0-py3-none-any.whl
- Upload date:
- Size: 7.8 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.0.0 CPython/3.11.4
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 0c9f86aebd3db15e7859a9d97af69a5daf68fb8e622885010ed749eff17ff2cb |
|
MD5 | 0fd95a22aef02fdde24a2d550f420519 |
|
BLAKE2b-256 | e803d1afdadb451c3cb1106b2c2f3cff72017d95f29089be8d54e611b6d92a85 |