2017-01-27 6 views
4

Я использую пример из книги О'Рейли «Введение в машинное обучение с помощью Python», используя Python 2.7 и sklearn 0.16.Недопустимый параметр для конвейера оценки sklearn

Код, я использую:

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_)) 

Ошибка возвращается сводится к:

ValueError: Invalid parameter logisticregression_C for estimator Pipeline 

Является ли это ошибка, связанная с использованием Make_pipeline из v.0.16? Что вызывает эту ошибку?

ответ

8

Должно быть два символа подчеркивания между именем оценщика и его параметрами в Pipeline logisticregression__C. Сделайте то же самое для tfidfvectorizer

Смотрите пример на http://scikit-learn.org/stable/auto_examples/plot_compare_reduction.html#sphx-glr-auto-examples-plot-compare-reduction-py

+1

Я хотел бы upvote более чем один раз. __ сделал трюк. спасибо – sera

Смежные вопросы