model = svmtrain(label,data);
[predictlabel,accuracy] = svmpredict(testdatalabel,testdata,model)
运行结果如下:
好,通过上面的讲解,不知道诸位看官对于利用libsvm进行分类是否有了一定了解【谁要是这么通俗的例子还搞不清楚怎么使用libsvm进行分类,那我真无语啦】,下面使用libsvm工具箱本身带的测试数据heart_scale来实际进行一下测试:
- model =
- Parameters: [5x1 double]
- nr_class: 2
- totalSV: 197
- rho: 0.0583
- Label: [2x1 double]
- ProbA: []
- ProbB: []
- nSV: [2x1 double]
- sv_coef: [197x1 double]
- SVs: [197x13 double]
- Parameters =
- 0
- 2.0000
- 3.0000
- 2.8000
- 0
- Label =
- 1
- -1
- nr_class =
- 2
- totalSV =
- 197
- nSV =
- 89
- 108
- Accuracy = 99.5% (199/200) (classification)
- Accuracy = 68.5714% (48/70) (classification)
- Elapsed time is 0.040873 seconds.
- >>
上面的代码基本我不想多说什么。
只是说一下参数输入的意义:
更多关于libsvm 参数的说明请看
libsvm 参数说明【中英文双语版本】
http://www.matlabsky.com/thread-12380-1-1.html
还有关于建立的分类模型model
分类模型model解密详解中说明
利用libsvm-mat建立分类模型model参数解密【by faruto】
http://www.matlabsky.com/thread-12649-1-1.html
所以也希望诸位看官尤其是对svm感兴趣的朋友多多关注我。O(∩_∩)O~
如果对于标签设置问题您还没有搞懂可以再看看这个:
【转】Matlab中使用libsvm进行分类预测时的标签问题再次说明
http://www.matlabsky.com/thread-12396-1-1.html
更多关于SVM的东西请看:
关于SVM的那点破事[长期更新整理 by faruto]
http://www.matlabsky.com/thread-10966-1-1.html
reference:http://blog.csdn.net/timidsmile/article/details/9316743