本文主要是介绍SVM支持向量机+libsvm用法,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
SVM是一种无监督学习算法(其它无监督学习算法有kNN,SOM等),可用于模式识别或回归时。但其用到大量的数学运算,需要一定的数学基础。但是如果使用libsvm,则可以不必关心svm实现细节,直接专注问题与建模。 libsvm是台湾大学林智仁(Lin Chih-Jen)副教授等开发设计的一个简单、易于使用和快速有效的SVM模式识别与回归的软件包,提供源代码和可执行文件。 使用方法: 1.下载软件包 libsvm http://www.csie.ntu.edu.tw/~cjlin/cgi-bin/libsvm.cgi?+http://www.csie.ntu.edu.tw/~cjlin/libsvm+zip 将libsvm解压缩到任意文件夹下,如E:/libsvm 2. 使用svm-toy进行测试,双击libsvm/windows/svm-toy.exe 点击Change按钮改变颜色,用鼠标点击在画布上画出如左图所示的点集,然后点Run按钮产生如右图的图像。 可以看出分类效果相当不错。 然后点Save按钮保存为tdata,供下一步使用。 SVM支持向量机+libsvm用法 - hankjin - 云水居 SVM支持向量机+libsvm用法 - hankjin - 云水居 3. 使用svm-train等进行测试 3.1下载gnuplot ftp://ftp.gnuplot.info/pub/gnuplot/gp400win32.zip, 解压缩到C:/tmp目录下 3.2安装python 3.3将第2步生成的数据 3.4将libsvm/tools文件夹下的grid.py复制到libsvm/windows文件夹下。然后在命令行下进入libsvm/windows目录 ,执行 python grid.py tdata 会看到一堆数据和一个图在迅速变化,运行结束后,最后一行有参数,例如 ... [local] 13 -3 100.0 (best c=128.0, g=0.5, rate=100.0) 128.0 0.5 100.0 前两个分别是c和g,用这两个参数进行训练 svm-train.exe -c 128.0 -g 0.5 tdata 可以得到tdata.model,然后用这个tdata.model对tdata进行预测 svmp-redict.exe tdata tdata.model tdata.out Accuracy = 100% (53/53) (classification) 这个数据比较规范,所以结果是100% 转载于http://hankjin.blog.163.com/blog/static/33731937201082103012777/ 参考文档 http://www.cmlab.csie.ntu.edu.tw/~cyy/learning/tutorials/libsvm.pdf http://www.csie.ntu.edu.tw/~piaip/svm/svm_cjlin_dm.pdf http://www.csie.ntu.edu.tw/~cjlin/libsvm/这篇关于SVM支持向量机+libsvm用法的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!