ニュース記事の分類にSVMを使用しようとしています。LibSVMはすべてのトレーニングベクトルをサポートベクトルに変換します。なぜですか?
フィーチャー(文書内の固有の単語)を行として含む表を作成しました。 これらの機能を使って重み付けマップを作成しました。すなわち、記事が、特徴ベクトルテーブルの一部である単語を有し、その位置が1
またはそれ以外の場合は0
とマークされている場合。
例: - トレーニングサンプルが生成...
1~1:1~2:1~3:1~4:1~5:1~6:1~7:1~8:1~9:1 10: 1 11:1 12:1 13:1 14:1 15:1 16:1 17:1 18:1 19:1 20:1 21:1 22:1 23:1 24:1 25:1 26: 1 27:1 28:1 29:1 30:1
これは最初の文書であるため、すべての機能があります。
私は1
,0
をクラスラベルとして使用しています。
私はsvm.Netを分類に使用しています。
私は300
の手動で訓練データとして分類されたモデルを与え、生成されたモデルはすべてのベクトルを支持ベクトルとして取ります。これは確かにオーバーフィッティングです。
私の合計特徴(特徴ベクトルDBテーブル内で,)は7610
である。
何故その理由が考えられますか?
これで、私のプロジェクトは非常に悪い形になっています。利用可能なすべての記事を肯定的な記事として分類しています。
LibSVMバイナリ分類でクラスラベルに制限はありますか。
私は、と+1
の代わりに0
,を使用しています。問題ありますか?
理由が見つかりました。これは、SVM.netがtrainingdataの有効性をチェックしていないために発生しています。私の訓練データでは、機能番号がソートされていなかったため、奇妙な結果が出ました。特徴量のウェイトベクトルをソートした後、モデルを生成すると、物事ははるかに良い... 74%の精度。ありがとうございました。 –