scikit-learn风格的约束线性回归
项目描述
约束线性回归
这是scikit-learn风格约束线性回归的Python实现。当前版本支持每个斜率系数的上限和下限。
此项目是在这个问题之后开发的 https://stackoverflow.com/questions/50410037
安装: pip install constrained-linear-regression
如果您希望所有系数均为非负数,可以使用此模型
from constrained_linear_regression import ConstrainedLinearRegression
from sklearn.datasets import load_boston
from sklearn.linear_model import LinearRegression
X, y = load_boston(return_X_y=True)
model = ConstrainedLinearRegression(nonnegative=True)
model.fit(X, y)
print(model.intercept_)
print(model.coef_)
输出将如下所示
-36.99292986145538
[0. 0.05286515 0. 4.12512386 0. 8.04017956
0. 0. 0. 0. 0. 0.02273805
0. ]
您还可以为任何选定的系数施加任意界限
model = ConstrainedLinearRegression()
min_coef = np.repeat(-np.inf, X.shape[1])
min_coef[0] = 0
min_coef[4] = -1
max_coef = np.repeat(4, X.shape[1])
max_coef[3] = 2
model.fit(X, y, max_coef=max_coef, min_coef=min_coef)
print(model.intercept_)
print(model.coef_)
输出将如下所示
24.060175576410515
[ 0. 0.04504673 -0.0354073 2. -1. 4.
-0.01343263 -1.17231216 0.2183103 -0.01375266 -0.7747823 0.01122374
-0.56678676]
如果您想应用相应的惩罚,可以设置系数 lasso
和 ridge
。但是,由于优化算法的差异,对于 lasso
,输出可能不会与 sklearn.linear_model.Lasso
的结果完全相同。
项目详情
关闭
constrained_linear_regression-0.0.5.tar.gz的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | f7a8721d4cbe5b5a5a450c01c728bb25ae9b7efde39a6ff2ec4b36c5af432e85 |
|
MD5 | 9235e043c72cdbf2313f3f89071eadba |
|
BLAKE2b-256 | f60b12aa3fdadf40e1c9f1bc3a6c53ceab193c7ba01c51a7b995d2aca7fd8a78 |
关闭
constrained_linear_regression-0.0.5-py3-none-any.whl的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | e628b340a920beb50294f6c6f50ff993e602b259f3c7eeb9b15889f23c10bfaa |
|
MD5 | fa4b785d04446a933107391a4417d969 |
|
BLAKE2b-256 | 5d829d7f62455227d7631e267ceead8d99ea08a1216684446c1a2051a14def1a |