一、LIBSVM介绍LIBSVM是台湾大学林智仁(Chih-JenLin)副教授等开发设计的一个简单、易于使用和快速有效的SVM模式识别与回归的软件包,他不但提供了编译好的可在Windows系列系统的执行文件,还提供了源代码,方便改进、修改以及在其它操作系统上应用;该软件还有一个特点,就是对SVM所涉及的参数调节相对比较少,提供了很多的默认参数,利用这些默认参数就可以解决很多问题;并且提供了交互检验(CrossValidation)的功能。二、准备工作2.1软件下载安装使用的平台是WindowsXP,从命令列执行。先把一些需要的东西装好,总共需要三个软件:libsvm,python,gnuplot。这里我选择的版本是libsvm-2.88,python26。Libsvm:到~cjlin/libsvm/下载libsvm,然后解压缩就好了。Python:到下载完直接安装就好了。Gnuplot:下载解压缩。这里全部解压安装在c盘c:\libsvm-2.88c:\python26c:\gnuplot2.2参数修改(1)把c:\libsvm-2.88\tools中的easy.py和grid.py复制到c:\libsvm-2.91\python中(2)在c:\libsvm-2.88\python中修改easy.py和grid.py的路径:①点中easy.py在右键中选EditwithIDLE打开,将else下面的路径修改如下:else:#exampleforwindowssvmscale_exe=rc:\libsvm-2.88\windows\svm-scale.exesvmtrain_exe=rc:\libsvm-2.88\windows\svm-train.exesvmpredict_exe=rc:\libsvm-2.88\windows\svm-predict.exegnuplot_exe=rc:\gnuplot\bin\pgnuplot.exegrid_py=rc:\libsvm-2.88\python\grid.py②点中grid.py在右键中选EditwithIDLE打开,将else下面的路径修改如下:else:#exampleforwindowssvmtrain_exe=rc:\libsvm-2.91\windows\svm-train.exegnuplot_exe=rc:\gnuplot\bin\pgnuplot.exe三、实验步骤(1)按照LIBSVM软件包所要求的格式准备数据集;(2)对数据进行缩放操作;(3)选用适当的核函数;(4)采用交叉验证选择惩罚系数C与g的最佳参数;(5)采用获得的最佳参数对整个训练集进行训练获取支持向量机模型;(6)利用获取的模型进行测试与预测。四、实验操作4.1.数据准备~cjlin/libsvmtools/datasets/binary.html#breast-cancer下载heart.txt作为此次分类的初始数据heartSource:Statlog/Heart#ofclasses:2#ofdata:270#offeatures:13Files:heartheart_scale(scaledto[-1,1])4..2具体操作(1)据归一化处理将数据heart.txt保存在c:\libsvm-2.88\windows文件夹下对原始数据进行归一化,步骤如下:打开程序--附件—命令提示符,键入cdc:\libsvm\windows回车再键入svm-scale-l0-u1heart.txtheart.scale.txt回车在c:\libsvm-2.88\windows下出现一个heart.scale.txt文件(2)然后将路径调整到cdc:\python27接着输入:pythonC:\libsvm\python\grid.py-log2c-10,10,1-log2g10,-10,-1c:\libsvm\windows\heart.scale.txttest.txt回车就会产生一个test.txt文件,其中记录了参数寻优的结果可以看到,参数分别为c2.0,g0.03125,正确率mse为84%在python26文件下有heart.scale.txt.png,得:(2)然后利用所得到的参数c,g对heart.scale.txt进行训练,输入cdc:\libsvm-2.88\windows回车svm-train–c2.0–g0.03125heart.scale.txt生成训练模型heart.scale.txt.model