皮皮网
皮皮网

【人人校园源码】【溯源码显示内容】【内付雷源码】opencvsvm源码

来源:免费源码指标源码 发表时间:2024-12-24 09:32:20

1.1000个特征7个类别MATLAB中SVM得训练多久

opencvsvm源码

1000个特征7个类别MATLAB中SVM得训练多久

       3天

       svm模型训练后的参数说明

       çŽ°ç®€å•å¯¹å±å¹•å›žæ˜¾ä¿¡æ¯è¿›⾏说明:

       #iter 为迭代次数,

       nu 与前⾯的操作参数 -n nu 相同,

       obj 为 SVM ⽂件转换为的⼆次规划求解得到的最⼩值,

       rho 为判决函数的常数项 b ,

       nSV 为⽀持向量个数,

       nBSV 为边界上的⽀持向量个数,

       Total nSV 为⽀持向量总个数。

       è®­ç»ƒåŽçš„模型保存为⽂件 *.model ,⽤记事本打开其内容如下:

       svm_type c_svc % 训练所采⽤的 svm 类型,此处为 C- SVC

       kernel_type rbf % 训练采⽤的核函数类型,此处为 RBF æ ¸

       gamma 0. % 设置核函数中的 g ,默认值为 1/ k

       nr_class 2 % 分类时的类别数,此处为两分类问题

       total_sv % 总共的⽀持向量个数

       rho 0. % 决策函数中的常数项 b

       label 1 -1% 类别标签

       @微生豪资料集合分享

       nr_sv % 各类别标签对应的⽀持向量个数

       SV % 以下为⽀持向量

       1 1:0. 2:1 3:-0. 4:-0.

       2 5:-0. 6:-1 7:-1 8:0.

       3 9:-1 :-0. :-1 :-1 :1

       0. 1:0. 2:1 3:0. 4:-0. 5:-0. 6:1 7:1 8:0. 9:1 :-0. :-0. :0.5

       1 1:0. 2:1 3:-1 4:-0. 5:-0. 6:-1 7:-1 8:0. 9:-1 :-0. :0. :-1

       1 1:0. 2:1 3:0. 4:-0. 5:-0. 6:-1 7:1 8:0. 9:-1 :-0. :-0. :1

       4 )采⽤交叉验证选择最佳参数 C 与 g

       é€šå¸¸⽽⾔,⽐较重要的参数是 gamma (-g) 跟 cost (-c) 。⽽ cross validation (-v)

       çš„参数常⽤ 5 。那么如何去选取最优的参数 c 和 g 呢? libsvm 的 python ⼦⽬录下⾯的 grid.py 可以帮助我们。 此时。其中安

       è£… python2.5 需要(⼀般默认安装到 c:/python

       ä¸‹ï¼‰ï¼Œå°† gnuplot 解压。安装解压完毕后,进⼊ /libsvm/tools ⽬录下,⽤⽂本编辑器(记事

       æœ¬ï¼Œ edit 都可以)修改 grid.py ⽂件,找到其中关于 gnuplot 路径的那项(其默认路径为

       gnuplot_exe=r"c:/tmp/gnuplot/bin/pgnuplot.exe" ),根据实际路径进⾏修改,并保存。然

       åŽï¼Œå°† grid.py 和 C:/Python ⽬录下的 python.exe ⽂件拷贝到 libsvm/windows ⽬录下,键⼊以下命令: $ python grid.py

       train.1.scale 执⾏后,即可得到最优参数 c 和 g 。

       å¦å¤–,⾄于下 libsvm 和 python 的接⼝的问题,在 libsvm2. 中林⽼师已经帮助我们解决,在/libsvm/windows/python ⽬录下⾃带了 svmc.pyd 这个⽂件,将该⽂件⽂件复制到

       @微生豪资料集合分享

       libsvm/python ⽬录下,同时,也将 python.exe ⽂件复制到该⽬录下,键⼊以下命令以检验效

       æžœï¼ˆæ³¨æ„ï¼š .Py ⽂件中关于 gnuplot 路径的那项路径⼀定要根据实际路径修改):

       python svm_test.py

       å¦‚果能看到程序执⾏结果,说明 libsvm 和 python 之间的接⼝已经配置完成,以后就可以直接在python 程序⾥调⽤ libsvm 的函数了!

       5 ) 采⽤最佳参数 C 与 g 对整个训练集进⾏训练获取⽀持向量机模型

       $ svmtrain –c x –g x –v x training_set_file [model_file]

       x 为上述得到的最优参数 c 和 g 的值, v 的值⼀般取 5 。

       6 )利⽤获取的模型进⾏测试与预测

       ä½¿⽤ Svmtrain 训练好的模型进⾏测试。输⼊新的 X 值,给出 SVM 预测出的 Y 值

       $ Svmpredict test_file model_file output_file

       å¦‚: ./svm-predict heart_scale heart_scale.model heart_scale.out

       Accuracy = .% (/) (classification)

       è¿™⾥显⽰的是结果

       ⼀个具体使⽤的例⼦。

       ä»¥ libsvm 中的 heart_scale 作为训练数据和测试数据,同时已经将 python 安装⾄ c 盘,并将grid.py ⽂件中关于 gnuplot 路径的默认值修改为实际解压缩后的路径,将

       heart_scale 、 grid.py 和 python.exe 拷贝⾄ /libsvm/windows ⽂件夹下。

       ./svm-train heart_scale

       optimization finished,人人校园源码 #iter =

       nu = 0.

       obj = -., rho = 0.

       nSV = , nBSV =

       Total nSV =

       æ­¤æ—¶ï¼Œå·²ç»å¾—到 heart_scale.model ,进⾏预测:

       ./svm-predict heart_scale heart_scale.model heart_scale.out

       Accuracy = .% (/) (classification)

       æ­£ç¡®çŽ‡ä¸º Accuracy = .% 。

       ./python grid.py heart_scale

       å¾—到最优参数 c= , g=0..

       ./svm-train -c -g 0. heart_scale 得到 model 后,由 ./svm-predict heart_scale heart_scale.model

       heart_scale.out 得到的正确

       çŽ‡ä¸º Accuracy = .%.这块还有点迷惑?为什么正确率降低了?

       å½“然也可以结合subset.py 和 easy.py 实现⾃动化过程。

       @微生豪资料集合分享

       å¦‚果要训练多次,可以写个批处理程序省好多事。

       è¿™⾥举个例⼦:

       ::@ echo off

       cls

       :: split the data and output the results

       for /L %%i in (1,1,) do python subset.py b.txt b(%%i).in8 b(%%i).out2

       for /L %%i in (1,1,) do python easy.py b(%%i).in8 b(%%i).out2 >> result.txt

       è¿™æ®µæ‰¹å¤„理代码⾸先调⽤subset.py对⽂件b.txt执⾏次分层随机抽样(对数据进⾏-%分割)然后调⽤easy.py 进⾏次参数寻优,把记录结果写到result.txt中

       ï¼ˆåŒ…括次训练的分类准确率和参数对)。

       è¿˜å¯ä»¥è°ƒ⽤fselect.py进⾏特征选择,调⽤plotroc.py进⾏roc曲线绘制。

       å…ˆå†™åˆ°è¿™⾥吧,希望能和⼤家⼀起学习libsvm,进⼀步学好svm。

       æ‰“å¼€APP获取全文

       

       å·²ç²¾é€‰svm模型训练后...会员文档篇

       

       MATLAB中SVM(支持向量机)的用法

       äººé˜…读

       

       OpencvSVM支持向量机参数与优化:

       8人阅读

       

       SVM参数设置及各种参数意义

       äººé˜…读

       

       sklearnsvm调参_SVM调优详解·messi的博客

相关栏目:探索