15
pipeline
ve GridSearchCV
kullanarak en iyi parametreleri belirledikten sonra, bu işlemi daha sonra yeniden kullanmak için pickle
/joblib
nasıl yapabilirim? Ben ... tek sınıflandırıcı olduğunda bunun nasılSklearn Pipeline ve GridSearchCV'den Oluşturulmuş Model Nasıl Kaydedilir Joblib veya Pickle?
from sklearn.externals import joblib
joblib.dump(clf, 'filename.pkl')
bkz Ama nasıl performans ve gridsearch
tamamladıktan sonra iyi parametreleri ile bu genel pipeline
kaydedebilirim?
Denedim:
joblib.dump(grid, 'output.pkl')
- Ama bu her gridsearch girişimi (birçok dosya)joblib.dump(pipeline, 'output.pkl')
dampingli - Ama bu iyi parametreleri içeren sanmıyorum
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'}