Sklearn comment sauvegarder un modèle créé à partir D'un Pipeline et GridSearchCV en utilisant Joblib ou Pickle?
après avoir identifié les meilleurs paramètres en utilisant un pipeline
et GridSearchCV
, comment puis-je pickle
/joblib
ce processus à réutiliser plus tard? Je vois comment faire quand c'est un simple Classificateur...
from sklearn.externals import joblib
joblib.dump(clf, 'filename.pkl')
Mais comment puis-je enregistrer ce pipeline
avec les meilleurs paramètres après avoir exécuté et complété un <!--7?
j'ai essayé:
joblib.dump(grid, 'output.pkl')
- mais qui a jeté tous les gridsearch tentative (plusieurs fichiers)joblib.dump(pipeline, 'output.pkl')
- Mais Je ne pense pas que que contient le meilleur des paramètres
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'}
19
demandé sur
Jarad
2015-12-08 00:46:23
1 réponses
from sklearn.externals import joblib
joblib.dump(grid.best_estimator_, 'filename.pkl')
Si vous voulez vider votre objet dans un fichier:
joblib.dump(grid.best_estimator_, 'filename.pkl', compress = 1)
24
répondu
Ibraim Ganiev
2015-12-08 21:16:41