サポートベクターの分類にlibsvm(http://www.csie.ntu.edu.tw/~cjlin/libsvm/)ツールを使用しています。ただし、入力データの形式については混乱しています。
READMEから:
トレーニングおよびテストデータファイルの形式は次のとおりです。
<label> <index1>:<value1> <index2>:<value2> ... . . .
各行にはインスタンスが含まれ、「\ n」文字で終了します。分類の場合
<label>
、クラスラベルを示す整数です(マルチクラスがサポートされます)。回帰の場合<label>
は、任意の実数のターゲット値です。1クラスのSVMの場合、使用されないため、任意の数にすることができます。このペア<index>:<value>
は、特徴(属性)値を与えます<index>
。1から始まる整数<value>
で、実数です。唯一の例外は、<index>
0から始まる事前計算済みカーネル です。事前に計算されたカーネルのセクションを参照してください。インデックスは昇順でなければなりません。テストファイルのラベルは、精度またはエラーの計算にのみ使用されます。不明な場合は、最初の列に数字を入力します。
次の質問があります。
- の使用は何
<index>
ですか?どんな目的に役立ちますか? - 異なるデータインスタンスの同じインデックス値に対応はありますか?
- 間にインデックスが欠落/スキップした場合はどうなりますか?
libsvmのパッケージに含まれるデータファイル* heart_scale *は12行目でインデックスが2から始まる<value>
ため、質問します。注:パッケージに付属のtools / checkdata.pyツールには、* heart_scale *ファイルが正しいと記載されています。