2017-04-05 9 views
0

TFIDF変換を使用してドキュメントを連続値フィーチャにエンコードしたとします。TFIDFベクターを多項式ナイーブベイでどのように使用できますか?

これをNaive Bayesクラシファイアへの入力としてどのように使用するのですか?

私たちの機能はもうバイナリではないため、ベルヌーイ・ナイーブ・ベイズが出ています。
多項式naive-bayesを使うことはできません。なぜなら、値はカテゴリではなく連続であるからです。

代わりに、ガウスのナイーブベイを使用するのが適切でしょうか? TFIDFベクトルは、ガウス分布仮定の下でうまくいっているでしょうか?

SCI-キットはMultionomialNBのドキュメントには、以下の示唆を学ぶ:

多項単純ベイズ分類器は、個別の機能を備えた分類 に適している(例えば、テキスト分類のためのワードカウント)。 多項分布は通常、整数の特徴数を必要とします。 しかし、実際には、tf-idfなどの分数カウントも機能する場合があります。

MultinomialNBの分数値を使用することは基本的に不可能ではありませんか?
私はそれを理解し、尤度関数自体は、我々は離散数を扱っていることを前提として(since it deals with counting/factorials

どのようにTFIDF値も、この式では動作しますか?

答えて

0

技術的には、あなたは正しいです。 (伝統的な)多項式N.B.モデルは、各要素XI私用語のカウント値iがDを文書であ​​る語彙サイズの特徴ベクトルX、として文書Dを考慮する。定義により、このベクトルxは多項分布に従うので、MNBの特徴的な分類関数につながる。

用語カウントの代わりにTF-IDF重みを使用すると、私たちの特徴ベクトルは(多分)多項分布に従わなくなるので、分類関数はもはや理論的にうまく確立されません。 しかしでは、カウントの代わりにtf-idfの重みがうまくいく(多く)ことがわかります。

TFIDF値はこの式でどのように機能しますか?特徴ベクトルXことを除いて全く同じように

は、今TF-IDFの重みはなくカウントのベクトルです。

また、sklearn tfidf-vectorizerで実装されているSublinear tf-idfの重み付け方式をチェックすることもできます。私自身の研究では、これはさらに優れたパフォーマンスを示しています。用語頻度の対数バージョンを使用しています。この考え方は、クエリ用語がdocで20回発生した場合です。 1回とdocで1回。 b、doc。おそらく20倍も重要ではないが、より重要なログ(20倍)と考えられるべきである。

関連する問題