我正在尝试在Windows上运行liblinear的train.exe:
>train ex1_train.txt Wrong input format at line 1
这是文件的开头。怎么了?
17.592 1:6.1101 9.1302 1:5.5277 13.662 1:8.5186 11.854 1:7.0032 6.8233 1:5.8598 11.886 1:8.3829 4.3483 1:7.4764 12 1:8.5781 6.5987 1:6.4862 3.8166 1:5.0546 3.2522 1:5.7107 15.505 1:14.164 3.1551 1:5.734 7.2258 1:8.4084 0.71618 1:5.6407 3.5129 1:5.3794 5.3048 1:6.3654 0.56077 1:5.1301 3.6518 1:6.4296 5.3893 1:7.0708
答案 0 :(得分:1)
Liblinear需要与LibSVM相同的输入格式。并且,从他们的README文件中,
培训和测试数据文件的格式为:
<label> <index1>:<value1> <index2>:<value2> ...
每行包含一个实例,并以'\ n'字符结束。对于 分类,
<label>
是一个表示类标签的整数 (支持多级)。对于回归,<label>
是目标 值可以是任何实数。对于单类SVM,它没有被使用 所以可以是任何数字。对<index>:<value>
提供了一项功能 (attribute)value:<index>
是一个从1开始的整数<value>
是一个真实的数字。唯一的例外是预先计算的内核,其中<index>
从0开始;请参阅预先计算的内核部分。指数 必须按照ASCENDING的顺序。
由于我们没有整个文件,我们可以提供的最佳答案是确保遵循所有这些说明。例如,没有TAB而不是空格,没有'\ r \ n'而不是'\ n'等等。调试的一个好方法是采取几行并继续添加,直到出现错误。< / p>
head -10 <yourfile> > tmp10
head -20 <yourfile> > tmp20
等。并查看错误弹出的位置。
答案 1 :(得分:0)
我的问题在于:您不能将零作为功能ID使用,并且您的功能需要进行排序。