Как сохранить прогнозируемые метки класса libsvm в csv?

Я новичок в SVM и использую libsvm 3.21 для обучения и проверки своих данных. У меня есть метки классов 1,2,..,5 для каждого из моих экземпляров (скажем, у меня есть 10).

Есть ли способ напечатать прогнозируемые метки классов (например, 3,5,1,2,3,4,2,1,1,4) в файл CSV или TXT? Я искал здесь http://www.csie.ntu.edu.tw/~cjlin/libsvm/faq.html, но кажется, что libsvm только выводит это (наряду с.model,.range и.scale файлы):

optimization finished, #iter = 219
nu = 0.431030
obj = -100.877286, rho = 0.424632
nSV = 132, nBSV = 107
Total nSV = 132

1 ответ

В соответствии с README в libsvm, скажем, у вас есть train.data, test.data, что вам нужно сделать, это обучить ваши данные с помощью svm-train

user:~$ ./svm-train train.data svm.model
*
optimization finished, #iter = 162
nu = 0.431029
obj = -100.877288, rho = 0.424462
nSV = 132, nBSV = 107
Total nSV = 132

а затем протестируйте свои test.data, используя только что обученную модель, используя svm -gnast.

user:~$ ./svm-predict test.data svm.model svm.output
Accuracy = 86.6667% (234/270) (classification)

И вы можете найти свою предсказанную метку в svm.output.

user:~$ head -5 svm.output 
1
-1
-1
1
-1

В частности, если вы хотите изменить его на файл.csv, вы можете набрать

user:~$ tr -s '\n' ',' < svm.output > svm.csv
Другие вопросы по тегам