我sklearn.linear_model.Ridge使用岭回归来提取多项式的系数。然而,一些系数具有要求它们为负的物理约束。有没有办法对这些参数施加约束?我在文档中没有发现...
作为一种解决方法,我尝试使用不同的复杂性参数(参见下面的玩具代码)进行许多拟合,并选择具有满足物理约束的系数的拟合,但这太不可靠而无法在生产中使用。
# Preliminaries
from sklearn.linear_model import Ridge
n_alphas = 2000
alphas = np.logspace(-15,3,n_alphas)
# Perform fit
fits = {}
for alpha in alphas:
temp_ridge = Ridge(alpha, fit_intercept=False)
temp_ridge.fit(indep_training_data, dep_training_data)
temp_ridge_R2 = temp_ridge.score(indep_test_data, dep_test_data)
fits[alpha] = [temp_ridge, temp_ridge_R2]
有没有办法使用岭回归对某些参数施加符号约束?谢谢!