機械学習は初めてです。現時点では、NLTKとpythonを使用して、ナイーブベイズ(NB)分類器を使用して、3つのクラスの小さなテキストをポジティブ、ネガティブ、またはニュートラルとして分類しています。
300,000のインスタンス(16,924のポジティブ7,477のネガと275,599のニュートラル)で構成されるデータセットを使用していくつかのテストを行った後、フィーチャの数を増やすと、精度は低下しますが、ポジティブおよびネガティブクラスの精度/リコールは増加することがわかりました。これは、NB分類器の通常の動作ですか?より多くの機能を使用する方が良いと言えますか?
一部のデータ:
Features: 50
Accuracy: 0.88199
F_Measure Class Neutral 0.938299
F_Measure Class Positive 0.195742
F_Measure Class Negative 0.065596
Features: 500
Accuracy: 0.822573
F_Measure Class Neutral 0.904684
F_Measure Class Positive 0.223353
F_Measure Class Negative 0.134942
前もって感謝します...
2011/11/26を編集
Naive Bayes分類器を使用して、3つの異なる機能選択戦略(MAXFREQ、FREQENT、MAXINFOGAIN)をテストしました。最初に、精度とクラスごとのF1メジャーを示します。
次に、トップ100およびトップ1000の機能でMAXINFOGAINを使用するときに、トレーニングセットを増分してトレインエラーとテストエラーをプロットしました。
したがって、FREQENTを使用すると最高の精度が得られますが、MAXINFOGAINを使用したものが最適な分類器であるように思えますが、これは正しいですか?上位100個の機能を使用する場合、バイアスがあり(テストエラーはトレーニングエラーに近い)、トレーニングサンプルを追加しても役に立ちません。これを改善するには、さらに機能が必要です。1000個の機能を使用すると、バイアスは減少しますが、エラーは増加します... さらに機能を追加する必要がありますか?私はこれをどう解釈するか本当にわかりません...
再度、感謝します...