(1)Ubuntu14.04下安装Libsvm
转载:https://blog.csdn.net/katrinawj/article/details/78915874
一、下载:
网址:http://www.csie.ntu.edu.tw/~cjlin/libsvm/oldfiles/,选择libsvm-3.22.tar.gz
二、解压:
tar -zxvf libsvm-3.22.tar.gz
三、编译:
打开终端,
1. 进入libsvm-3.22目录下,执行make;
2. 进入libsvm-3.22/python 子目录下,执行make。
(2)使用Libsvm
转载:https://www.cnblogs.com/mfmdaoyou/p/7294500.html
一、先进入到进入libsvm-3.22目录下
二、svmtrain 的语法大致就是:
svm-train [options] training_set_file [model_file]
training_set_file 就是之前的格式,而 model_file 假设不给就会叫[training_set_file].model.options 能够先不要给。
下列程序执行結果会产生 heart_scale.model 文件:(屏幕输出不是非常重要,沒有错误就好了)
执行代码:
./svm-train heart_scale
输出结果
======================
optimization finished, #iter = 219
nu = 0.431030
obj = -100.877286, rho = 0.424632
nSV = 132, nBSV = 107
Total nSV = 132
======================
三、svmpredict 的语法是 :
svm-predict test_file model_file output_file
(1)test_file就是我们要预測的数据,它的格式svmtrain的输入,也就是training_set_file是一样的,只是每行最前面的label能够省略(由于预測就是要预測那个label)。
但假设test_file有label的值的话,predict完会顺便拿predict出来的值跟test_file里面写的值去做比对,这代表:test_file写的label是真正的分类结果拿来跟我们预測的结果比对就能够知道预測的效果。所以我们能够拿原training set当做test_file再丟给svm-predict去预測(由于格式一样),看看正确率有多高,方便后面调參数.其他參数就非常好理解了
(2)model_file就是svm-train出来的文件;
heart_scale.out:
执行代码
./svm-predict heart_scale heart_scale.model heart_scale.out
得到输出:
=====================================
Accuracy = 86.6667% (234/270) (classification)
Mean squared error = 0.533333 (regression)
Squared correlation coefficient = 0.532639(regression)
=====================================