トレーニング セットがあり、トレーニング セットに従って他のドキュメントを分類するための分類方法を使用したいと考えています。ドキュメント タイプはニュースであり、カテゴリはスポーツ、政治、経済などです。
ナイーブ ベイズと KNN は完全に理解していますが、SVM と決定木は漠然としていて、この方法を自分で実装できるかどうかわかりませんか?それとも、この方法を使用するためのアプリケーションがありますか?
この方法でドキュメントを分類するために使用できる最良の方法は何ですか?
ありがとう!
トレーニング セットがあり、トレーニング セットに従って他のドキュメントを分類するための分類方法を使用したいと考えています。ドキュメント タイプはニュースであり、カテゴリはスポーツ、政治、経済などです。
ナイーブ ベイズと KNN は完全に理解していますが、SVM と決定木は漠然としていて、この方法を自分で実装できるかどうかわかりませんか?それとも、この方法を使用するためのアプリケーションがありますか?
この方法でドキュメントを分類するために使用できる最良の方法は何ですか?
ありがとう!
これは最も単純なアルゴリズムであり、すべてが独立していると見なされますが、実際のテキスト分類の場合、この方法はうまく機能します。そして、私は確かに最初にこのアルゴリズムを試してみます.
KNN は、分類ではなくクラスタリング用です。クラスタリングと分類の概念を誤解していると思います。
SVM には、クラスの分類と予測を行うための SVC (分類) および SVR (回帰) アルゴリズムがあります。うまく機能することもありますが、私の経験からすると、優れたトークナイザー (フィルター) に対する要求が高いため、テキスト分類のパフォーマンスが低下します。しかし、データセットの辞書には常にダーティ トークンがあります。精度は本当に悪いです。
テキスト分類にこの方法を試したことはありません。決定木にはいくつかのキーノードが必要だと思いますが、テキスト分類のための「いくつかのキートークン」を見つけるのは難しく、ランダムフォレストは高疎次元ではうまく機能しません。
ご参考までに
これらはすべて私の経験によるものですが、あなたの場合、使用する方法を決定するより良い方法はありませんが、モデルに適合するようにすべてのアルゴリズムを試してください.
Apache の Mahout は、機械学習アルゴリズムの優れたツールです。推奨、クラスタリング、分類の 3 つの側面のアルゴリズムを統合します。このライブラリを試すことができます。ただし、Hadoop に関する基本的な知識を習得する必要があります。
機械学習の場合、weka は多くのアルゴリズムを統合した体験用のソフトウェア ツールキットです。
線形 SVM は、(ロジスティック回帰と並んで) テキスト分類問題のトップ アルゴリズムの 1 つです。決定木は、そのような高次元の特徴空間ではひどく苦しんでいます。
Pegasos アルゴリズムは、最も単純な線形 SVM アルゴリズムの 1 つであり、非常に効果的です。
編集: 多項単純ベイズはテキスト データでもうまく機能しますが、通常は線形 SVM ほどではありません。kNN は問題なく動作しますが、アルゴリズムがすでに遅いため、テキストの問題で精度チャートのトップに立つことはありません。
Python に精通している場合は、NLTKとscikit-learn を検討してください。前者は NLP 専用ですが、後者はより包括的な機械学習パッケージです (ただし、テキスト処理モジュールの豊富な在庫があります)。どちらもオープン ソースであり、SO に対する優れたコミュニティ サポートがあります。