本文介绍了估计器管道的参数丢失无效的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

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

I'm trying to implement a SGDClassifier with sklearn, but I'm getting this error:

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)

我该如何解决这个问题?

How can I fix this?

推荐答案

来自 用户指南:

可以使用<estimator>__<parameter>访问流水线中估计器的参数.语法

试试这个:

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

这篇关于估计器管道的参数丢失无效的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

07-22 15:20