liblinear的train.exe:“第1行的输入格式错误”

时间:2012-02-09 20:02:59

标签: regression

我正在尝试在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

2 个答案:

答案 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使用,并且您的功能需要进行排序。