SVM使用方法总结
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
SVM的使用方法(整理完成于2011-03-14)
目录
1Libsvm下载 (3)
2Libsvm3.0环境变量设置 (3)
3训练和测试数据集下载 (3)
4运行python程序的环境配置 (3)
5LIBSVM使用的一般步骤是: (3)
6再来说一下,libsvm-3.0的需要的数据及其格式。 (4)
7Libsvm数据格式制作: (4)
8Windows版本的工具 (4)
9核函数的使用简介 (8)
10grid.py的使用 (10)
11subset.py使用方法 (11)
12checkdata.py的使用方法 (12)
13easy.py使用方法 (12)
14一个具体的应用实例 (13)
15备注:常见问题的解决办法 (15)
1Libsvm下载
在你给我发的邮件地址.tw/~cjlin/libsvm/下载libsvm的最新版本,现在最新版本是3.0的,下载地址为.tw/~cjlin/libsvm/libsvm-3.0.zip 1、将libsvm-3.0.zip解压,我的解压到了C:\根目录下了。
2Libsvm3.0环境变量设置
添加环境变量到path:我的电脑->属性->高级->环境变量->系统变量->变量列表里面双击Path,在变量值最后添加;C:\libsvm-3.0\windows然后点击确定即可。
3训练和测试数据集下载
在以下网址.tw/%7Ecjlin/papers/guide/data/可以下载到用来训练的数据集合用来测试的数据集,这都是一些简单的数据。
4运行python程序的环境配置
由于有可能使用到C:\libsvm-3.0\tools下的工具,所以的搭建相应的环境,下载两个软件python和gnuplot,下面说一下两个软件的下载地址和配置:
a.对于python,下载地址在上寻找下载,目前版本是3.2的,但是我用的是2.6的,测试成功。安装就默认安装在C:\就行,记得将C:\Python26添加到系统环境变量中。另外将C:\Python26中的python.exe添加到C:\libsvm-3.0\windows下面即可。
b.对于gnuplot,下载地址在/。目前最新版本是4.4.3。他不用安装,直接解压放到C:\根目录即可。(这注:部分不需要了)。
c.下载gp440win32.zip,在网址/fileview_352799.html下载,这个解压放到C盘根目录,然后拷贝C:\gnuplot\binary中的gnuplot.exe放到C:\libsvm-3.0\windows 下面即可。
5LIBSVM使用的一般步骤
1)按照LIBSVM软件包所要求的格式准备数据集
2)对数据进行简单的缩放操作;
3)首要考虑选用RBF核函数;
4)采用交叉验证选择最佳参数C与g;
5)采用最佳参数C与g对整个训练集进行训练获取支持向量机模型;
6)利用获取的模型进行测试与预测。
6libsvm-3.0数据及其格式
该软件使用的训练数据和检验数据文件格式如下:
[label][index1]:[value1][index2]:[value2]…
[label][index1]:[value1][index2]:[value2]…
Label就是说class(属于哪一类),就是你要分类的种类,通常是一些整数。
index是有順序的索引,通常是连续的整数。就是指特征编号,必须按照升序排列value就是特征值,用来train的数据,通常是一堆实数组成。
(注:修改训练和测试数据的格式为程序可以识别的程序
目标值第一维特征编号:第一维特征值第二维特征编号:第二维特征值…
目标值第一维特征编号:第一维特征值第二维特征编号:第二维特征值…
……
目标值第一维特征编号:第一维特征值第二维特征编号:第二维特征值…
例如: 2.31:5.62:3.2
表示训练用的特征有两维,第一维是5.6,第二维是3.2,目标值是2.3
注意:训练和测试数据的格式必须相同,都如上所示。测试数据中的目标值是为了计算误差用)
7Libsvm数据格式制作
该过程可以自己使用excel或者编写程序来完成,也可以使用网络上FormatDataLibsvm.xls来完成。FormatDataLibsvm.xls使用说明:
a.先将数据按照下列格式存放(注意label放最后面):
value1value2…label
value1value2…label
…
value1value2…label
b.然后将以上数据粘贴到FormatDataLibsvm.xls中的最左上角单元格,接着工具->宏->执行FormatDataToLibsvm宏。就可以得到libsvm要求的数据格式。测试可用,下载地址在(/f/9299654.html?from=like),或者自己再google中搜索下载即可。
8Windows版本的工具
Windows版本的工具svm-scale.exe进行训练和测试数据的归一化,svm-train.exe进
行模型训练,svm-predict.exe进行预测,具体步骤和过程在下面介绍。
2、C:\libsvm-3.0\windows下的工具使用方法
打开C:\libsvm-3.0\windows,里面有四个windows的exe程序。下面解释一下这四个exe执行程序的意义和用法
①svm-scale.exe:scale输入数据,简单优化数据以提高精度。扫描数据.因为原始数据可能范围过大或过小,svmscale可以先将数据重新scale(縮放)到适当范围使训练与预测速度更快
使用方法:svm-scale.exe[-l lower][-u upper][-y y_lower y_upper][-s save_name][-r store_name]filename;其中
-l:数据下限标记;
lower:缩放后数据下限缺省值:lower=-1;
-u:数据上限标记;
upper:缺省值:upper=1,代表着没有对y进行缩放;
-y:是否对目标值同时进行缩放;
y_lower:为下限值;
y_upper:为上限值;(回归需要对目标进行缩放,因此该参数可以设定为–y-11);-s save_name:表示将缩放的规则保存为文件save_name;
-r store_name:表示将缩放规则文件store_name载入后按此缩放;
filename:待缩放的数据文件(要求满足前面所述的格式)。
缩放规则文件可以用文本浏览器打开,看到其格式为:
y
lower upper min max x
lower upper
index1min1max1
index2min2max2
其中的lower与upper与使用时所设置的lower与upper含义相同;index表示特征序号;min转换前该特征的最小值;max转换前该特征的最大值。数据集的缩放结果在此情况下通过DOS窗口输出,当然也可以通过DOS的文件重定向符号“>”将结果另存为指定的文件。该文件中的参数可用于最后面对目标值的反归一化。反归一化的公式为:
(Value-lower)*(max-min)/(upper-lower)+lower
其中value为归一化后的值,其他参数与前面介绍的相同。
建议将训练数据集与测试数据集放在同一个文本文件中一起归一化,然后再将归一化结果分成训练集和测试集。
②svm-train.exe:训练数据,生成模型
使用方法:svm-train.exe[options]training_set_file[model_file],其中:
options(操作参数):可用的选项即表示的涵义如下所示-s svm类型:设置SVM类型,默认值为0,可选类型有(对于回归只能选3或4):
0–C-SVC
1–n-SVC
2--one-class-SVM