2017-05-19 7 views
0

TfidfVectorizerは、&のテキストをベクトルに変換する簡単な方法を提供します。教師なしクラスタリング中にsklearnのTfidfVectorizerでパラメータを選択する方法

私の質問は、min_df、max_features、smooth_idf、sublinear_tfなどのパラメータに適切な値を選択する方法です。

更新:

たぶん私は質問の詳細を入れている必要があります。

私は文章の束と教師なしクラスタリングをしていたらどう。私はテキストのためのラベルを持っていません&(実際に私が把握しようとしているものです)いくつのクラスタがあるのか​​分かりません

+1

ルックオブジェクト。この決定プロセスは、「min_df」などがハイパーパラメータであるため、「ハイパーパラメータチューニング」と呼ばれます。 –

答えて

1

たとえば、これらのベクトルを分類タスクでは、これらのパラメータ(もちろん分類子のパラメータ)を変更して、どの値が最良のパフォーマンスをもたらすかを確認することができます。

あなたは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 
+0

詳細な回答ありがとうございます。残念ながら、私は教科書のセットを使って教師なしクラスタリングを行っています。私は可能なクラスターのためのラベルを持っていません。私は何をすべきか? – user6396

+0

クラスタの評価は、https://www.wikiwand.com/en/Cluster_analysis#/Evaluation_and_assessmentなどで行い、TfIdfVectorizerパラメータも結果にどのように影響するかを確認してください –

関連する問題