python - Sklearn 如何使用 Joblib 或 Pickle 保存从管道和 GridSearchCV 创建的模型?

标签 python scikit-learn pipeline grid-search

在使用 pipelineGridSearchCV 确定最佳参数后,我如何 pickle/joblib 这个过程以后再用?当它是一个单一的分类器时,我知道如何做到这一点......

from sklearn.externals import joblib
joblib.dump(clf, 'filename.pkl') 

但是在执行和完成 gridsearch 之后,如何使用最佳参数保存整个 pipeline

我试过了:

  • joblib.dump(grid, 'output.pkl') - 但这会转储每个 gridsearch 尝试(许多文件)
  • joblib.dump(pipeline, 'output.pkl') - 但我 不要认为它包含最好的参数

X_train = df['Keyword']
y_train = df['Ad Group']

pipeline = Pipeline([
  ('tfidf', TfidfVectorizer()),
  ('sgd', SGDClassifier())
  ])

parameters = {'tfidf__ngram_range': [(1, 1), (1, 2)],
              'tfidf__use_idf': (True, False),
              'tfidf__max_df': [0.25, 0.5, 0.75, 1.0],
              'tfidf__max_features': [10, 50, 100, 250, 500, 1000, None],
              'tfidf__stop_words': ('english', None),
              'tfidf__smooth_idf': (True, False),
              'tfidf__norm': ('l1', 'l2', None),
              }

grid = GridSearchCV(pipeline, parameters, cv=2, verbose=1)
grid.fit(X_train, y_train)

#These were the best combination of tuning parameters discovered
##best_params = {'tfidf__max_features': None, 'tfidf__use_idf': False,
##               'tfidf__smooth_idf': False, 'tfidf__ngram_range': (1, 2),
##               'tfidf__max_df': 1.0, 'tfidf__stop_words': 'english',
##               'tfidf__norm': 'l2'}

最佳答案

import joblib
joblib.dump(grid.best_estimator_, 'filename.pkl')

如果您想将对象转储到一个文件中 - 使用:

joblib.dump(grid.best_estimator_, 'filename.pkl', compress = 1)

关于python - Sklearn 如何使用 Joblib 或 Pickle 保存从管道和 GridSearchCV 创建的模型?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34143829/

相关文章:

python - while 如果值出现在元组列表中则条件为 true

python - 如何在新创建的窗口中的复选框中设置 Tkinter 中的变量

python - Azure 上的 Flask 应用程序为 POST 请求提供 400 错误代码

python - 如何根据 DCGAN 论文在扁平表示向量之上训练 L2-SVM 分类器

python - 如何构建一个使用多个属性的基于内容的推荐系统?

machine-learning - 如何将文档拆分为训练集和测试集?

r - 如何使用管道来使用对象的一部分

python - 尝试创建文件时出现 ValueError 未知 url 类型

clojure - 在 Clojure 中转换生长向量的惯用方法

R 流水线函数