是否可以限制 scikit-learn 或 statsmodels 中线性回归的调整参数的范围,例如在 statsmodels.regression.linear_model.OLS 或 sklearn.linear_model.LinearRegression 中?
http://statsmodels.sourceforge.net/devel/generated/statsmodels.regression.linear_model.OLS.html
http://scikit-learn.org/stable/modules/generated/sklearn.linear_model.LinearRegression.html
编辑:
scipy 0.17 包括带有约束的 scipy.optimize.leastsq:
理想情况下,我正在寻找的是最小化目标误差函数,并最小化调整乘数参数从默认值 1.0 开始的变化。这可能是目标函数的一部分。
请注意,这是适用于我的框边界的选项列表:
method='trf' or 'dogbox'
loss='cauchy'
f_scale=1e-5 to 1e-2
最佳答案
不确定“限制调整参数的界限”是什么意思。
如果您希望结果分量位于预先指定的范围内,您可以尝试
scipy.optimize.least_squares
, 这解决了minimize F(x) = 0.5 * sum(rho(f_i(x)**2), i = 0, ..., m - 1) subject to lb <= x <= ub
如果您担心结果分量因共线性而在数量级上过大,您可以尝试
sklearn.linear_model.Ridge
(或那里的其他正则化线性回归器之一)。
关于python - scikit-learn 或 statsmodels 中线性回归调整参数的限制范围,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36411603/