たとえば、これらのベクトルを分類タスクでは、これらのパラメータ(もちろん分類子のパラメータ)を変更して、どの値が最良のパフォーマンスをもたらすかを確認することができます。
あなたはGridSearchCVで簡単sklearnでそれを行うことができ、パイプラインは、「相互検証」に
pipeline = Pipeline([
('tfidf', TfidfVectorizer(stop_words=stop_words)),
('clf', OneVsRestClassifier(MultinomialNB(
fit_prior=True, class_prior=None))),
])
parameters = {
'tfidf__max_df': (0.25, 0.5, 0.75),
'tfidf__ngram_range': [(1, 1), (1, 2), (1, 3)],
'clf__estimator__alpha': (1e-2, 1e-3)
}
grid_search_tune = GridSearchCV(pipeline, parameters, cv=2, n_jobs=2, verbose=3)
grid_search_tune.fit(train_x, train_y)
print("Best parameters set:")
print grid_search_tune.best_estimator_.steps
ルックオブジェクト。この決定プロセスは、「min_df」などがハイパーパラメータであるため、「ハイパーパラメータチューニング」と呼ばれます。 –