我正在使用libsvm(http://www.csie.ntu.edu.tw/~cjlin/libsvm/)工具进行支持向量分类。但是,我对输入数据的格式感到困惑。
从自述文件:
训练和测试数据文件的格式为:
<label> <index1>:<value1> <index2>:<value2> ... . . .
每行包含一个实例,并以“ \ n”字符结尾。对于分类,
<label>
是指示类标签的整数(支持多类)。为了回归,<label>
目标值可以是任何实数。对于一类SVM,不使用它,因此可以是任何数字。该对<index>:<value>
提供一个特征(属性)值:<index>
是一个从1开始的整数,<value>
是一个实数。唯一的例外是预先计算的内核,<index>
从0开始;请参阅预计算内核部分。索引必须按升序排列。测试文件中的标签仅用于计算准确性或错误。如果未知,则在第一列中填入任何数字。
我有以下问题:
- 有什么用
<index>
?它有什么作用? - 不同数据实例的相同索引值之间是否存在对应关系?
- 如果我错过/跳过两者之间的索引怎么办?
我问是因为libsvm的软件包中包含的数据文件* heart_scale *在第12行中,索引从2开始。<value>
索引1 的for 是否被视为未知/丢失?注意:软件包随附的tools / checkdata.py工具表示* heart_scale *文件正确。