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