0

我正在使用 sVM-light 进行二进制分类。我在学习模式下使用 SVM。我准备好了我的 train.dat 文件。但是当我运行这个命令时,它不是创建文件模型,而是在终端中写入一些东西:

我的命令:

./svm_learn example1/train.dat example1/model 输出:

扫描示例...完成 将示例读入内存...特征编号必须大于或等于 1!: 成功线: -1 0:1.0 6:1.0 16:1.0 18:1.0 28:1.0 29:1.0 31:1.0 48:1.0 58:1.0 73:1.0 82:1.0 93:1.0 95:1.0 106:1.0 108: 1.0 118:1.0 121:1.0 122:1.0151:1.0 164:1.0 167:1.0 169:1.0 170:1.0 179:1.0 190:1.0 193:1.0 220:1.0 237:1.0250:1.0 202:1.0 1.08:27:26 269:1.0 278:1.0 283:1.0 291:1.0 300:1.0 305:1.0320:1.0 332:1.0 336:1.0 342:1.0 345:1.0 348:1.0 349:1.0 350:1.0 368:1.0 370:1.0 370:1.0。 :1.0 394:1.0 395:1.0 396:1.0 397:1.0 400:1.0 401:1.0 408:1.0 416:1.0427:1.0 433:1.0 435:1.0 438:1.0 441:1.0 446:1.0 456:18.0 4 456:18.0 4 :1.0 510:1.0523:1.0 525:1.0 526:1.0 532:1.0 540:1.0 553:1.0 567:1.0 568:1.0 581:1.0 583:1.0604:1.0 611:1.0 615:1.0 616:1.3:68.6 1.0 624:1.0 626:1.0 651:1.0 659:1.0677:1.0 678:1.0 683:1.0 690:1。

我不知道该怎么办。

ps当我让我的 train.dat 变得更短时,一切正常!!!

谢谢

4

1 回答 1

2

从我可以从日志中解释的内容来看,您的训练集有问题。

有问题的训练行的前几个字符是
-1 0:1.0 6:1.0

问题不在于大小,而在于特征索引。您从 0 (0:1) 开始您的特征索引,而svmlight要求所有特征索引等于或大于 1。

将索引更改为从 1 开始,它应该可以正常工作。

于 2013-02-23T18:24:06.807 回答