2017-01-27 13 views
4

私は、Python 2.7とSklearn 0.16を使用して、O'Reillyの書籍「機械学習の紹介」を実装しています。を使用しています。sklearn推定パイプラインのパラメータが無効

コード私が使用しています:

ValueError: Invalid parameter logisticregression_C for estimator Pipeline 

これはv.0.16からMake_pipelineの使用に関連したエラーです:

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

返されるエラーは、つまるところ?このエラーの原因は何ですか?

答えて

8

見積もり者名とそのパラメータの間には、Pipeline logisticregression__Cという2つのアンダースコアが必要です。私は私が複数回upvoteことがしたいhttp://scikit-learn.org/stable/auto_examples/plot_compare_reduction.html#sphx-glr-auto-examples-plot-compare-reduction-py

+1

で例を参照してくださいtfidfvectorizer

ために同じ操作を行います。 __はそのトリックをやった。ありがとうございました – sera

関連する問題