【问题标题】:Invalid parameter for sklearn estimator Ridge() and Lasso()sklearn 估计器 Ridge() 和 Lasso() 的参数无效
【发布时间】:2021-01-16 23:52:48
【问题描述】:

我正在使用 Python 3.6.5scikit-learn 0.23.2

实施教程中的示例
from sklearn.model_selection import GridSearchCV 
from sklearn.linear_model import Ridge

ridge = Ridge()

r_parameters = {'ridge__alpha:':[1e-15, 1e-10, 1e-8, 1e-4, 1e-3, 1e-2, 1, 5, 10, 20]}

ridge_regressor = GridSearchCV(ridge, r_parameters, scoring = 'neg_mean_squared_error', cv = 5)

ridge_regressor.fit(X, y)

返回的错误归结为:

ValueError: Invalid parameter ridge for estimator Ridge(). Check the list of available parameters with `estimator.get_params().keys()`.

当我为 Lasso 做同样的问题时

from sklearn.linear_model import Lasso

lasso = Lasso(tol=0.05)
l_parameters = {'lasso__alpha:':[1e-15, 1e-10, 1e-8, 1e-4, 1e-3, 1e-2, 1, 5, 10, 20]}

lasso_regressor = GridSearchCV(lasso, l_parameters, scoring = 'neg_mean_squared_error', cv = 5)

lasso_regressor.fit(X, y)

套索的类似错误如下所示:

ValueError: Invalid parameter lasso for estimator Lasso(tol=0.05). Check the list of available parameters with `estimator.get_params().keys()`.

是什么导致了这个错误?

【问题讨论】:

  • 错误发生在哪一行?
  • @JosephBudin 错误发生在:ridge_regressor.fit(X, y) 和 lasso_regressor.fit(X, y) 分别
  • 试试l_parameters = {'alpha:':[1e-15, ...

标签: python python-3.x scikit-learn lasso-regression gridsearchcv


【解决方案1】:

按照@SergeyBushmanov 的建议,您应该使用alpha 作为参数,请参阅here 用于Ridge()here 用于Lasso()

此外,请注意您在引号内写了冒号。打错字了。

总结一下:

r_parameters = {'alpha':[1e-15, 1e-10, 1e-8, 1e-4, 1e-3, 1e-2, 1, 5, 10, 20]}

l_parameters = {'alpha':[1e-15, 1e-10, 1e-8, 1e-4, 1e-3, 1e-2, 1, 5, 10, 20]}

【讨论】:

    猜你喜欢
    • 2017-06-13
    • 2018-06-24
    • 2016-06-13
    • 1970-01-01
    • 2018-06-28
    • 2021-08-13
    • 2020-02-22
    • 2020-09-11
    • 2020-12-18
    相关资源
    最近更新 更多