【问题标题】:Invalid parameter loss for estimator Pipeline估计器管道的无效参数损失
【发布时间】:2017-12-28 21:50:49
【问题描述】:

我正在尝试使用 sklearn 实现 SGDClassifier,但出现此错误:

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

这是我的代码:

pipeline = Pipeline([
 ('clf', SGDClassifier())
])

parameters = {
    'seed': [0],
    'loss': ('log', 'hinge'),
    'penalty': ['l1', 'l2', 'elasticnet'],
    'alpha': [0.001, 0.0001, 0.00001, 0.000001]
}

score_func = make_scorer(metrics.f1_score)

grid_search = GridSearchCV(pipeline, parameters, n_jobs=3,
verbose=1, scoring=score_func)

grid_search.fit(X, Y)

我该如何解决这个问题?

【问题讨论】:

    标签: python scikit-learn


    【解决方案1】:

    这会显示用于引用管道中参数的确切键

    pipeline.get_params().keys()
    

    【讨论】:

      【解决方案2】:

      来自User's Guide

      可以使用 __ 语法访问管道中估计器的参数

      所以试试这个:

      parameters = {
          'clf__seed': [0],
          'clf__loss': ('log', 'hinge'),
          'clf__penalty': ['l1', 'l2', 'elasticnet'],
          'clf__alpha': [0.001, 0.0001, 0.00001, 0.000001]
      }
      

      【讨论】:

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