软件世界网 购物 网址 三丰软件 | 小说 美女秀 图库大全 游戏 笑话 | 下载 开发知识库 新闻 开发 图片素材
多播视频美女直播
↓电视,电影,美女直播,迅雷资源↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
移动开发 架构设计 编程语言 Web前端 互联网
开发杂谈 系统运维 研发管理 数据库 云计算 Android开发资料
  软件世界网 -> 开发杂谈 -> 理解支持向量机(四)LibSVM工具包的使用 -> 正文阅读

[开发杂谈]理解支持向量机(四)LibSVM工具包的使用


LibSVM是一款简单易用的支持向量机工具包,包含了C和Java的开发源码。大家可以访问其官网进行了解和下载相关文件。
这里以其官网的第一个数据集a1a 为例,练习使用多项式核和径向基核来对数据集进行分类。
1、准备工作
由于从官网下的最新的2015.12月发布的libsvm-3.21版本中已生成的exe文件不支持Windows32位系统,所以使用的之前的一版libsvm-3.20。将其下下来打开,里面包含了以下文件:
[img]http://img.blog.csdn.net/20160402200815117
其中data里面放的是LibSVM分享的数据集a1a;
gnuplot是一个图像绘画工具,可以将数据可视化。直接点击进行安装,路径可以自己选择,本例中安装路径为F:\Program Files\gnuplot。
libsvm-3.20是一个已开发好的集成工具包,我们拿来直接用。将libsvm-3.20压缩包解压,路径可以自己选择,本例中解压路径为F:\Program Files\libsvm-3.20。
打开tools文件夹,然后分别打开easy.py和grid.py,将easy.py中出现在else语句中的gnuplot_exe和 grid.py中self.gnuplot_pathname修改为gnuplot.exe所在路径,如下:
[img]http://img.blog.csdn.net/20160402170531061
[img]http://img.blog.csdn.net/20160402170554030
现在还差一个工具,就是python。没有安装python的可以从python官网 下载安装。路径可以自己选择,本例中安装路径为F:\Program Files\Python。
以上几步完成后,准备工作就结束了。
2、LibSVM的使用
0. 如果数据集较小的话,可以直接在libsvm-3.20中的tools 文件夹下使用命令:python easy.py training_file [testing_file]。否则处理过程如下:
1. 使用网格搜索grid.py训练出最优参数惩罚因子C和参数g,g也就是核函数公式中的γ。 步骤如下:
首先将data中的两个数据集文件复制到刚解压的libsvm-3.20中的tools 文件夹下,然后打开cmd命令行,通过cd进入到tools文件夹下,输入如下命令,如图:
[img]http://img.blog.csdn.net/20160402165514104
按回车后,程序开始执行,执行结束后,会出现如下结果:
[img]http://img.blog.csdn.net/20160402165639995
最后一行三个数字分别表示,寻找到的最优参数C=2.0,g=0.0078125,准确率=82.9907。
同时会在tools文件夹下生成一个gnuplot画出结果图片,如下:
[img]http://img.blog.csdn.net/20160402170714280
可以看到,gnuplot是对数据的可视化表示。
2 训练模型
在获得最优参数后,我们就可以对训练数据集进行训练,来获得训练模型,步骤如下:
首先从cmd命令行中进入libsvm-3.20中的windows文件夹,可以看到文件夹中有svm-toy.exe、svm-scale.exe、svm-train.exe、svm-predict.exe四个可执行文件,其中:
svm-toy.exe是一个可视化应用程序,显示了对平面中数据点的分类。有change、run、clear、save、load及参数设置框,默认最大分类数为3,大家可以点点看,效果如下:
[img]http://img.blog.csdn.net/20160402190654344
svm-scale.exe是对输入的数据特征进行归一化缩放,从而避免某些过大或过小特征值对分类效果的影响。使用方式如下:
svm-scale [options] data_filename,其中options列表有以下几种:
-l lower : x缩放最小值,默认为-1
-u upper : x缩放最大值,默认为1
-y y_lower y_upper : y scaling limits (default: no y scaling)
-s save_filename : save scaling parameters to save_filename
-r restore_filename : restore scaling parameters from restore_filename
svm-train.exe对训练集训练,产生训练模型。使用方式如下:
svm-train [options] training_set_file [model_file],其中常用options列表有以下几种:
-s svm_type : SVM类型 (默认0)
0 – C-SVC (多类分类器)
1 – nu-SVC (多类分类器)
2 – one-class SVM
3 – epsilon-SVR (回归)
4 – nu-SVR (回归)
-t kernel_type : 核函数类型 (默认 2)
0 – 线性核:μ?ν
1 – 多项式核:(γ?μ?ν+coef0)degree
2 – 径向基核:exp(?γ?||μ?ν||2)
3 – sigmoid核:tanh(γ?μ?ν+coef0)
4 – precomputed kernel (kernel values in training_set_file)
-d degree : 多项式核最高项次数 (default 3)
-g gamma : 核函数中γ 值(默认1N,N为特征数目)
-r coef0 : 多项式核与sigmoid核中的参数(default 0)
-c cost : 设置C-SVC, e -SVR和v-SVR的损失函数(default 1)
svm-predict.exe利用测试集和生成的训练模型而得到预测模型,使用方式如下:
svm-predict [options] test_file model_file output_file,其中options列表有:
-b probability_estimates: 是否预测概率估计,用0或1表示(默认0);对于for one-class SVM ,只有0可选。
介绍完这几个可执行文件后,下面我们就要用它们来训练和预测模型。
1.对于a1a数据集,特征值为0或者1,故不需要使用svm-scale.exe来缩放数据,若有数据集的特征值差异较大,应首先使用svm-scale.exe进行数据缩放。
2.命令行进入windows文件夹,输入命令:svm-train.exe -c 2.0 -g 0.0078125 ../tools/adultTrain.txt ../tools/adultTrain.model,生成训练模型文件adultTrain.model,演示如下:
[img]http://img.blog.csdn.net/20160402194848297
其中,iter表示迭代计算次数;
nu即核函数中的ν参数;
obj为二次规划求解的最小值;
rho为偏置b;
nSV为标准支持向量个数,即满足0<αi< C的个数;
nBSV为边界上的支持向量个数,即满足αi= C的个数;
Total nSV为支持向量总个数。
3.输入命令:svm-predict.exe ../tools/adultTest.t ../tools/adultTrain.model ../tools/audltPredict.model,利用测试集和训练模型文件获得预测模型文件,并得到模型在测试集上的分类准确率,颜色如下:
[img]http://img.blog.csdn.net/20160402195810817
4.作为对比,同时训练了多项式核函数(参数最优)和径向基核函数(未参数最优),结果分别如下:
[img]http://img.blog.csdn.net/20160402200153037
[img]http://img.blog.csdn.net/20160402200205834
三者比较可知,选择了参数最优的径向基核在该数据集上的分类效果最好,准确率为84.0225。
......显示全文...
    点击查看全文


上一篇文章      下一篇文章      查看所有文章
2016-04-03 20:46:48  
开发杂谈 最新文章
BloomFilter
大学四年编程之历程
内核分析
造人论坛——意识的本质和一个人工脑模型
OFDM信号[matlab描述]
人类还会进化吗?
HDUACM1035RobotMotion简单模拟题
树、二叉树(二)
iisphpweb.config处理404,500等,跳转友好
DatabaseAsaFortress
360图书馆 软件开发资料 文字转语音 购物精选 软件下载 美食菜谱 新闻资讯 电影视频 小游戏 Chinese Culture 股票 租车
生肖星座 三丰软件 视频 开发 短信 中国文化 网文精选 搜图网 美图 阅读网 多播 租车 短信 看图 日历 万年历 2018年1日历
2018-1-20 7:29:15
多播视频美女直播
↓电视,电影,美女直播,迅雷资源↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  软件世界网 --