Python 在本例中,为什么alphas=RidgeCV中的alphas?

Python 在本例中,为什么alphas=RidgeCV中的alphas?,python,pandas,machine-learning,scikit-learn,regression,Python,Pandas,Machine Learning,Scikit Learn,Regression,我需要实现套索和岭回归,并通过交叉验证计算超参数。 我找到了执行此操作的代码,但我不能完全理解它 lassocv = LassoCV(alphas=None, cv=15, max_iter=100000, normalize=True) lassocv.fit(X_train, y_train) lasso = Lasso(alpha=lassocv.alpha_, normalize=True) lasso.fit(X_train, y_train) rmse = np.sqrt(mean_

我需要实现套索和岭回归,并通过交叉验证计算超参数。 我找到了执行此操作的代码,但我不能完全理解它

lassocv = LassoCV(alphas=None, cv=15, max_iter=100000, normalize=True)
lassocv.fit(X_train, y_train)
lasso = Lasso(alpha=lassocv.alpha_, normalize=True)
lasso.fit(X_train, y_train)
rmse = np.sqrt(mean_squared_error(y_val, lasso.predict(X_val)))

ridgecv = RidgeCV(alphas=alphas, normalize=True)
ridgecv.fit(X_train, y_train)
ridge = Ridge(alpha=ridgecv.alpha_, normalize=True)
ridge.fit(X_train, y_train)
rmse = np.sqrt(mean_squared_error(y_val, ridge.predict(X_val)))

那么,为什么alphas=RidgeCV中的alphas?如果我写入alphas=None,则会发生错误。为什么没有必要为ridgecv编写cv?

我认为答案与在不同模型上设置正则化强度的方式有关

在RidgeCV中,您需要显式声明
alpha
s,因为参数调整不是基于交叉验证计算的错误来完成的

然而,在LassoCV中,他们有一种根据CV误差自动计算α的方法。但是,如果要显式设置它们,可以通过更改可选参数来实现:
n_alpha
alphas

参考:
第7章第4节了解更多细节。

我认为答案与在不同模型上设置正则化强度的方式有关

在RidgeCV中,您需要显式声明
alpha
s,因为参数调整不是基于交叉验证计算的错误来完成的

然而,在LassoCV中,他们有一种根据CV误差自动计算α的方法。但是,如果要显式设置它们,可以通过更改可选参数来实现:
n_alpha
alphas

参考:
第7章第4节了解更多详情。

Hey@xxx,欢迎来到StackOverflow!你在这里问的三个问题似乎是独立的,而且是关于不同的模型,你应该分开问。干杯嘿@xxx,欢迎来到StackOverflow!你在这里问的三个问题似乎是独立的,而且是关于不同的模型,你应该分开问。干杯