基本的なユニグラム機能を使用して、バイナリ感情分類 (正と負) に Vowpal Wabbit を使用しています。これは私の列車の機能がどのように見えるかです:
1 | 28060 10778 21397 64464 19255
-1 | 44248 21397 3353 57948 4340 7594 3843 44368 33938 49249 45696 32698 57948 21949 58810 32698 62793 64464
1 | 44248 21397 3353 32698 62996
1 | 44248 21397 3353 57948 63747 40024 46815 37197 7594 47339 28060 10778 32698 45035 3843 54789 19806 60087 7594 47339
各行はラベルで始まり、語彙内の単語の一連のインデックスが続きます。これらの機能のデフォルト値は 1 です。
このコマンドを使用してトレーニングします。
cat trainfeatures.txt | vw --loss_function logistic -f trainedModel
これは、テストに使用するコマンドです。
cat testfeatures.txt | vw -i trainedModel -p test.pred
出力ファイル test.pred は次のようになります。
28.641335
15.409834
13.057793
28.488165
16.716839
19.752426
値の範囲は -0.114076 ~ 28.641335 です。値がしきい値、たとえば 14 より大きい場合は正であり、それ以外の場合は負であるというルールを使用すると、51% の精度と 40.7% の f 値が得られます。
しかし、私がフォローしている論文では、このデータセットで 81% の精度が報告されています。したがって、実装または結果の解釈において、私が行っていることは間違いありません。私はそれが何であるかを理解することができません。
編集: テスト コマンドで --binary オプションを使用したところ、{-1,+1} というラベルが付けられました。評価した結果、精度は 51.25%、f 値は 34.88% でした。