SVM使用方法总结

上传人:cn****1 文档编号:483959097 上传时间:2023-11-15 格式:DOC 页数:16 大小:317.50KB
返回 下载 相关 举报
SVM使用方法总结_第1页
第1页 / 共16页
SVM使用方法总结_第2页
第2页 / 共16页
SVM使用方法总结_第3页
第3页 / 共16页
SVM使用方法总结_第4页
第4页 / 共16页
SVM使用方法总结_第5页
第5页 / 共16页
点击查看更多>>
资源描述

《SVM使用方法总结》由会员分享,可在线阅读,更多相关《SVM使用方法总结(16页珍藏版)》请在金锄头文库上搜索。

1、SVM的使用方法(整理完成于2011-03-14)目 录1 Libsvm下载32 Libsvm3.0环境变量设置33 训练和测试数据集下载34 运行python程序的环境配置35 LIBSVM使用的一般步骤是:36 再来说一下,libsvm-3.0的需要的数据及其格式。47 Libsvm数据格式制作:48 Windows版本的工具49 核函数的使用简介810 grid.py的使用1011 subset.py使用方法1112 checkdata.py的使用方法1213 easy.py使用方法1214 一个具体的应用实例1315 备注:常见问题的解决办法151 Libsvm下载在你给我发的邮件地址

2、 下载libsvm的最新版本,现在最新版本是3.0的,下载地址为 1、 将libsvm-3.0.zip解压,我的解压到了C:根目录下了。2 Libsvm3.0环境变量设置添加环境变量到path:我的电脑-属性-高级-环境变量-系统变量-变量列表里面双击 Path,在变量值最后添加;C:libsvm-3.0windows 然后点击确定即可。3 训练和测试数据集下载在以下网址 可以下载到用来训练的数据集合用来测试的数据集,这都是一些简单的数据。4 运行python程序的环境配置由于有可能使用到C:libsvm-3.0tools下的工具,所以的搭建相应的环境,下载两个软件python和gnuplot

3、,下面说一下两个软件的下载地址和配置:a.对于python,下载地址在上寻找下载,目前版本是3.2的,但是我用的是2.6的,测试成功。安装就默认安装在C:就行,记得将C:Python26 添加到系统环境变量中。另外将C:Python26 中的python.exe添加到C:libsvm-3.0windows下面即可。b.对于gnuplot ,下载地址在u 。目前最新版本是4.4.3。他不用安装,直接解压放到C:根目录即可。(这注:部分不需要了)。c.下载gp440win32.zip,在网址 下载,这个解压放到C盘根目录,然后拷贝C:gnuplotbinary中的gnuplot.exe放到C:li

4、bsvm-3.0windows下面即可。5 LIBSVM使用的一般步骤1)按照LIBSVM软件包所要求的格式准备数据集2)对数据进行简单的缩放操作;3)首要考虑选用RBF核函数;4)采用交叉验证选择最佳参数C与g;5)采用最佳参数C与g对整个训练集进行训练获取支持向量机模型;6)利用获取的模型进行测试与预测。6 libsvm-3.0数据及其格式该软件使用的训练数据和检验数据文件格式如下: label index1:value1 index2:value2 label index1:value1 index2:value2 Label 就是说class(属于哪一类), 就是你要分类的种类,通常是

5、一些整数。 index 是有順序的索引,通常是连续的整数。就是指特征编号,必须按照升序排列 value 就是特征值,用来 train 的数据,通常是一堆实数组成。(注:修改训练和测试数据的格式为程序可以识别的程序目标值 第一维特征编号:第一维特征值 第二维特征编号:第二维特征值 目标值 第一维特征编号:第一维特征值 第二维特征编号:第二维特征值 目标值 第一维特征编号:第一维特征值 第二维特征编号:第二维特征值例如: 2.3 1:5.6 2:3.2 表示训练用的特征有两维,第一维是5.6,第二维是3.2,目标值是2.3 注意:训练和测试数据的格式必须相同,都如上所示。测试数据中的目标值是为了计

6、算误差用 )7 Libsvm数据格式制作该过程可以自己使用excel或者编写程序来完成,也可以使用网络上FormatDataLibsvm.xls来完成。 FormatDataLibsvm.xls使用说明: a. 先将数据按照下列格式存放(注意label放最后面): value1 value2 label value1 value2 label value1 value2 labelb. 然后将以上数据粘贴到FormatDataLibsvm.xls中的最左上角单元格,接着工具-宏-执行FormatDataToLibsvm宏。就可以得到libsvm要求的数据格式。测试可用,下载地址在( ),或者自

7、己再google中搜索下载即可。8 Windows版本的工具Windows版本的工具svm-scale.exe进行训练和测试数据的归一化,svm-train.exe进行模型训练,svm-predict.exe进行预测,具体步骤和过程在下面介绍。2、 C:libsvm-3.0windows下的工具使用方法打开C:libsvm-3.0windows ,里面有四个windows的exe程序。下面解释一下这四个exe执行程序的意义和用法svm-scale.exe: scale输入数据,简单优化数据以提高精度。扫描数据.因为原始数据可能范围过大或过小, svmscale可以先将数据重新scale (縮放

8、)到适当范围使训练与预测速度更快使用方法:svm-scale.exe -l lower -u upper -y y_lower y_upper -s save_name -r store_name ;其中 -l:数据下限标记;lower:缩放后数据下限 缺省值: lower = -1;-u:数据上限标记;upper:缺省值: upper = 1,代表着没有对y进行缩放;-y:是否对目标值同时进行缩放;y_lower:为下限值;y_upper:为上限值;(回归需要对目标进行缩放,因此该参数可以设定为 y -1 1 );-s save_name:表示将缩放的规则保存为文件save_name;-r

9、store_name:表示将缩放规则文件store_name载入后按此缩放; :待缩放的数据文件(要求满足前面所述的格式)。缩放规则文件可以用文本浏览器打开,看到其格式为: y lower upper min max x lower upper index1 min1 max1 index2 min2 max2 其中的lower 与upper 与使用时所设置的lower 与upper 含义相同;index 表 示特征序号;min 转换前该特征的最小值;max 转换前该特征的最大值。数据集的缩放结果在此情况下通过DOS窗口输出,当然也可以通过DOS的文件重定向符号“”将结果另存为指定的文件。该文

10、 件中的参数可用于最后面对目标值的反归一化。反归一化的公式为: (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,可选类型有(对

11、于回归只能选3或4): 0 C-SVC 1 n-SVC 2 - one-class-SVM 3 e-SVR4 n-SVR -t 核函数类型:设置核函数类型,默认值为2,可选类型有: 0 - 线性核:u*v 1 - 多项式核: (g*u*v+ coef 0)deg ree 2 - RBF 核:e( u v 2) g 3 - sigmoid 核:tanh(g*u*v+ coef 0) -d degree:核函数中的degree设置,默认值为3; -g g :设置核函数中的g ,默认值为1/ k ;-r coef0:设置核函数中的coef 0,默认值为0;-c cost:设置C- SVC、e - S

12、VR、n - SVR中从惩罚系数C,默认值为1;-n n :设置n - SVC、one-class-SVM 与n - SVR 中参数n ,默认值0.5;-p e :设置n - SVR的损失函数中的e ,默认值为0.1; -m cachesize:设置cache内存大小,以MB为单位,默认值为40; -e e :设置终止准则中的可容忍偏差,默认值为0.001; -h shrinking:是否使用启发式,可选值为0 或1,默认值为1; -b 概率估计:是否计算SVC或SVR的概率估计,可选值0 或1,默认0; -wi weight:对各类样本的惩罚系数C加权,默认值为1; -v n:n折交叉验证模

13、式。 training_set_file:是要进行训练的数据集;model_file:是训练结束后产生的模型文件,该参数如果不设置将采用默认的文件名,也可以设置成自己惯用的文件名。(注1:其中-g选项中的k是指输入数据中的属性数。操作参数 -v 随机地将数据剖分为n 部分并计算交叉检验准确度和均方根误差。以上这些参数设置可以按照SVM 的类型和核函数所支持的参数进行任意组合,如果设置的参数在函数或SVM 类型中没有也不会产生影响,程序不会接受该参数;如果应有的参数设置不正确,参数将采用默认值。)(注2:网上实验中的参数-s取3,-t取2(默认)还需确定的参数是-c,-g,-p 另, 实验中所需

14、调整的重要参数是-c 和 g,-c和-g的调整除了自己根据经验试之外,还可以使用gridregression.py对这两个参数进行优化。(需要补充) 该优化过程需要用到Python(测试是2.5),Gnuplot(测试是4.2),gridregression.py(1、该文件需要修改路径2、下载地址在,再试没有使用过)。 然后在命令行下面运行: python.exe gridregression.py -log2c -10,10,1 -log2g -10,10,1 -log2p -10,10,1 -s 3 t 2 -v 5 -svmtrain E:libsvmlibsvm-2.86windowssvm-train.exe -gnuplot E:libsvmlibsvm-2.86gnuplotbinpgnuplot.exe E:libsvmlibsvm-2.86windowstrain.txt gridregression_feature.parameter 以上三个路径根据实际安装情况进行修改。 -log2c:是给出参数c的范围和步长-log2g:是给出参数g的范围和步长 -log2p:是给出参数p的范围和步长上面三个参数可以用默认范围和步长 -s:选择SVM类型,也是只能选

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 办公文档 > PPT模板库 > 总结/计划/报告

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号