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 hashes)
Built Distribution
Close
Hashes for constrainedlr-0.2.0-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 0c9f86aebd3db15e7859a9d97af69a5daf68fb8e622885010ed749eff17ff2cb |
|
MD5 | 0fd95a22aef02fdde24a2d550f420519 |
|
BLAKE2b-256 | e803d1afdadb451c3cb1106b2c2f3cff72017d95f29089be8d54e611b6d92a85 |