scikit-learn 或 statsmodels 中线性回归调整参数的限制范围
limit bounds of tuning parameters for linear regression in scikit-learn or statsmodels
是否可以限制 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 和约束:
理想情况下,我正在寻找的是最小化 objective 误差函数,并最小化调整乘数参数从默认值 1.0 的变化。这可能是 objective 函数的一部分。
请注意,这是适用于我的框边界的选项列表:
method='trf' or 'dogbox'
loss='cauchy'
f_scale=1e-5 to 1e-2
不确定 "limit the bounds of tuning parameters" 是什么意思。
如果您希望结果分量位于预先指定的范围内,您可以尝试 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
(或那里的其他正则化线性回归量之一)。
是否可以限制 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 和约束:
理想情况下,我正在寻找的是最小化 objective 误差函数,并最小化调整乘数参数从默认值 1.0 的变化。这可能是 objective 函数的一部分。
请注意,这是适用于我的框边界的选项列表:
method='trf' or 'dogbox'
loss='cauchy'
f_scale=1e-5 to 1e-2
不确定 "limit the bounds of tuning parameters" 是什么意思。
如果您希望结果分量位于预先指定的范围内,您可以尝试
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
(或那里的其他正则化线性回归量之一)。