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_sign_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.1.4.tar.gz
(7.3 kB
view hashes)
Built Distribution
Close
Hashes for constrainedlr-0.1.4-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | b2f980b5642d85165438b665fb83cffb9b9eaf9fd6ea8a47d80a475eefbe9e5d |
|
MD5 | 0e31dd8405d83219cae63b3d8cdb80d4 |
|
BLAKE2b-256 | 36dbe759a050e8224a758acb0a32d3c83ed645923517c6b5c9da814ffd1bc457 |