0

ドキュメント間の TF-IDF を計算するために、この質問 ( 2 つのテキスト ドキュメント間の類似性) に対する最も支持された回答で与えられたコードを使用しています。ただし、カスタム値min_df(コード内で 1) を指定せずにコードを実行すると、2 つのドキュメントが完全に異なる (共通の単語が含まれていないなど) 場合、TF-IDF を受信する代わりに、値が 0 の場合、次のエラーが発生します。

ValueError: empty vocabulary; training set may have contained only stop words or min_df (resp. max_df) may be too high (resp. too low).

このエラーを取り除く方法を教えてもらえますか?

4

1 に答える 1

3

デフォルトでは (sklearn <= 0.13)min_dfに設定されてmin_df=2います。これは、各単語が少なくともコーパスの 2 つの異なるドキュメントに出現し、ベクトライザーの語彙に含まれる必要があることを意味します。これは大規模なコーパスには妥当な選択ですが、わずか数文でおもちゃのデータセットに含まれるものを取得するには制限が多すぎるため、表示されるエラー メッセージはかなり明白です。デフォルトは、 scikit-learn の開発ブランチでmin_df=2に変更さmin_df=1れ、おもちゃのデータセットでデフォルトのパラメーター値を使用してライブラリを試す新規ユーザーの混乱を軽減します。

于 2013-05-22T08:20:31.637 に答える