我正在使用Python2.7和sklearn 0.16实现O'Reilly book“Introduction to Machine Learning with Python”中的一个示例。
我使用的代码:
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
这是否与使用v.0.16中的Make_管道有关?是什么导致了这个错误?
在aPipeline中,估计器名称与其参数之间应该有两个下划线
logisticregression__C
。对tfidfvectorizer
也这样做参见http://scikit-learn.org/stable/auto_examples/plot_compare_reduction.html#sphx-glr-auto-examples-plot-compare-reduction-py中的示例
相关问题 更多 >
编程相关推荐