SVM使用方法总结

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 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

相关文档
最新文档