python - sklearn 估计器管道的参数无效

标签 python scikit-learn grid-search scikit-learn-pipeline

我正在使用 Python 2.7 和 sklearn 0.16 实现 O'Reilly 书籍“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_pipeline 相关的错误吗?是什么导致了这个错误?

最佳答案

估计器名称和Pipeline 中的参数之间应该有两个下划线。 logisticregression__C。对 tfidfvectorizer

执行相同的操作

参见 http://scikit-learn.org/stable/auto_examples/plot_compare_reduction.html#sphx-glr-auto-examples-plot-compare-reduction-py 上的示例

关于python - sklearn 估计器管道的参数无效,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41899132/

相关文章:

python - 安装 Flask 失败。错误: No available formula with the name "flask"

python - Pygame 中的箭头键移动

python - 与 2 类分类中的 Score = 'roc_auc' 相比,roc_auc 分数的自定义 make_scorer 给出了不同的结果

python - scikit-learn 加载失败

python - 使用 GridSearchCV 时需要拆分数据吗?

python - 包括 Scaling 和 PCA 作为 GridSearchCV 的参数

python - 处理 Python (wxpython) 代码时出现属性错误

python - 加快 groupby.apply pandas 匹配

python - 时间序列间隙填充的想法(使用统计学习?)

python - 使用交叉验证技术和网格搜索技术的岭回归模型