web-dev-qa-db-fra.com

Paramètre non valide pour le pipeline d'estimateur sklearn

J'implémente un exemple du livre O'Reilly "Introduction to Machine Learning with Python", en utilisant Python 2.7 et sklearn 0.16.

Le code que j'utilise:

pipe = make_pipeline(TfidfVectorizer(), LogisticRegression())
param_grid = {"logisticregression_C": [0.001, 0.01, 0.1, 1, 10, 100], "tfidfvectorizer_ngram_range": [(1,1), (1,2), (1,3)]}
grid = GridSearchCV(pipe, param_grid, cv=5)
grid.fit(X_train, y_train)
print("Best cross-validation score: {:.2f}".format(grid.best_score_))

L'erreur renvoyée se résume à:

ValueError: Invalid parameter logisticregression_C for estimator Pipeline

Est-ce une erreur liée à l'utilisation de Make_pipeline à partir de la version 0.16? Qu'est ce qui cause cette erreur?

23
sudo_coffee

Il devrait y avoir deux soulignements entre le nom de l'estimateur et ses paramètres dans un Pipelinelogisticregression__C. Faites de même pour tfidfvectorizer

Voir l'exemple sur http://scikit-learn.org/stable/auto_examples/plot_compare_reduction.html#sphx-glr-auto-examples-plot-compare-reduction-py

27
Vivek Kumar