gpt4 book ai didi

python - 在此示例中,为什么 RidgeCV 中的 alphas=alphas ?

转载 作者:行者123 更新时间:2023-11-30 09:16:19 33 4
gpt4 key购买 nike

我需要实现Lasso和Ridge回归,并通过交叉验证的方式计算超参数。我找到了执行此操作的代码,但我不太理解它。

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)))

那么,为什么 RidgeCV 中 alphas=alphas 呢?如果我写 alphas=None ,就会发生错误。为什么ridgecv不需要写cv?

最佳答案

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

在 RidgeCV 中,您需要显式声明 alpha,因为参数调整不是根据交叉验证计算出的误差来完成的。

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

引用:https://web.stanford.edu/~hastie/Papers/ESLII.pdf有关详细信息,请参阅第 7 章第 4 节。

关于python - 在此示例中,为什么 RidgeCV 中的 alphas=alphas ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55189617/

33 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com