Как сохранить прогнозируемые метки класса 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