1

LIBSVMの入力トレーニングベクトルセットの生成にいくつかの問題があります..3つのカテゴリと、次のような用語の重みを持つ関連するトレーニングドキュメントがあります(仮定のみ)。

(ラベル/カテゴリ):1
用語頻度ベクトル(TF * IDF)
Document1-> 1:0.25 2:1.056 3:2.356
Document2-> 2:1.25 3:0.145 4:1.543
Document3-> 1:1.00 2:2.145 5: 3.543

(ラベル/カテゴリ):2
用語頻度ベクトル(TF * IDF)
Document4-> 1:0.25 2:1.056 3:2.356
Document5-> 2:1.25 3:0.145 4:1.543
Document6-> 1:1.00 2:2.145 5 :3.543

(ラベル/カテゴリ):3
用語頻度ベクトル(TF * IDF)
Document7-> 1:0.25 2:1.056 3:2.356
Document8-> 2:1.25 3:0.145 4:1.543
Document9-> 1:1.00 2:2.145 5:3.543

これをLIBSVMのトレーニングベクトルのセットに変換する方法を誰かが言うことができます。ここで1:0.25 2:1.056 3:2.356は用語インデックスとその重みです。用語インデックスはグローバル辞書で手動で維持されます。

また、テストドキュメントを用語ベクトルに変換する方法を知っているでしょうか。

前もって感謝します。


こんにちはQnan..あなたが提案したように私はサンプルトレーニングベクトル空間を用意しました。私のベクター形成が正しいかどうか教えてください。

(ラベル/カテゴリ):1

1 1:0.25 2:1.056 3:2.356->(トレーニングインスタンス1-Document1の場合)
1 2:1.25 3:0.145 4:1.543->(トレーニングインスタンス2-Document2の場合)
1 1:1.00 2:2.145 5:3.543 ->(トレーニングインスタンス3-Document3の場合)

(ラベル/カテゴリ):2

2 1:0.25 2:1.056 3:2.356->(トレーニングインスタンス4-Document4の場合)
2 2:1.25 3:0.145 4:1.543->(トレーニングインスタンス5-Document5の場合)
2 1:1.00 2:2.145 5:3.543 ->(トレーニングインスタンス6-Document6の場合)

(ラベル/カテゴリ):3

3 1:0.25 2:1.056 3:2.356->(トレーニングインスタンス7-Document7の場合)
3 2:1.25 3:0.145 4:1.543->(トレーニングインスタンス8-Document8の場合)
3 1:1.00 2:2.145 5:3.543 ->(トレーニングインスタンス9-Document9の場合)

4

1 に答える 1

4

フォーマットはLIBSVMディストリビューションのREADMEファイルに記述されており、基本的には

<categoryA> <feature1>:<value1> <feature2>:<value2> <feature3>:<value3> ...

トレーニングインスタンスごとに1行。特徴指数も昇順である必要があります。

テストセットはまったく同じように見えますが、最初の列に固定数が含まれている場合があります。たとえば、そのセットの実際のラベルがわからない場合は0です。

あなたのデータに関しては、同じ用語と同じ用語のセットに対して、これらすべての異なる重みベクトルをどのように持つことができるのかよくわかりませんDocument1。それを明確にしていただけますか?

編集:

フォーマットはOKです。コメントを削除すると、LIBSVMは問題なく動作します。Windowsを実行していて、ファイルtest.txtが次のようになっていると仮定します。

1 1:0.25 2:1.056 3:2.356
1 2:1.25 3:0.145 4:1.543
1 1:1.00 2:2.145 5:3.543
2 1:0.25 2:1.056 3:2.356
2 2:1.25 3:0.145 4:1.543
2 1:1.00 2:2.145 5:3.543
3 1:0.25 2:1.056 3:2.356
3 2:1.25 3:0.145 4:1.543
3 1:1.00 2:2.145 5:3.543

./libsvm-3.12/windows/svm-train.exe test.txtトレーニングと./libsvm-3.12/windows/svm-predict.exe test.txt test.txt.model test.txt.out予測に使用できます。他のシステムでは、CMDは同様です。

このデータでは、各ラベルのデータセットに同じ重みベクトルが存在するため、精度は1/3より高くならないことに注意してください。

于 2012-08-13T13:55:31.357 に答える