Ⅰ 安装了libsvm,matlab自带的svmtrain怎么用
1、 配置C环境:
在MATLAB中任意路径下,输入mex –setup
然后按步骤进行
2、 添加路径
(1) 将libsvm工具箱复制到MATLAB的toolbox文件夹下
(2) Set path-------Add withSubfolders,将libsvm的工具箱文件夹添加到路径中
3、 编译
将当前路径设置为libsvm工具箱中的matlab文件夹下,输入make即可。
此时,若直接调用svmtrain(),则用的还是MATLAB自带的函数。
Ⅱ 如何利用python使用libsvm
一:libsvm包下载与使用:
LIBSVM是台湾大学林智仁(Lin Chih-Jen)副教授等开发设计的一个简单、易于使用和快速有效的SVM模式识别与回归的软件包,他不但提供了编译好的可在Windows系列系统的执行文件,还提供了源代码,方便改进.
把包解压在C盘之中,如:C:\libsvm-3.18
2.
因为要用libsvm自带的脚本grid.py和easy.py,需要去官网下载绘图工具gnuplot,解压到c盘
3.
进入c:\libsvm\tools目录下,用文本编辑器(记事本,edit都可以)修改grid.py和easy.py两个文件,找到其中关于gnuplot路径的那项,根据实际路径进行修改,并保存
4python与libsvm的连接(参考SVM学习笔记(2)LIBSVM在python下的使用 )
a.打开IDLE(python GUI),输入
>>>import sys
>>>sys.version
如果你的python是32位,将出现如下字符:
‘2.7.3 (default, Apr 10 2012, 23:31:26) [MSC v.1500 32 bit (Intel)]’
这个时候LIBSVM的python接口设置将非常简单。在libsvm-3.16文件夹下的windows文件夹中找到动态链接库libsvm.dll,将其添加到系统目录,如`C:\WINDOWS\system32\’,即可在python中使用libsvm
b.如果你是64位的请参考文献,请参考上述连接。
5.执行一个小例子
import os
os.chdir('C:\libsvm-3.18\python')#请根据实际路径修改
from svmutil import *
y, x = svm_read_problem('../heart_scale')#读取自带数据
m = svm_train(y[:200], x[:200], '-c 4')
p_label, p_acc, p_val = svm_predict(y[200:], x[200:], m)
##出现如下结果,应该是正确安装了
optimization finished, #iter = 257
nu = 0.351161
obj = -225.628984, rho = 0.636110
nSV = 91, nBSV = 49
Total nSV = 91
Accuracy = 84.2857% (59/70) (classification)
二几个简单的例子
从下载实验数据集。并且将数据集拷贝到C:\libsvm-3.18\windows下(因为之后我们需要利用该文件夹下的其他文件,这样比较方便,当然之后你用绝对地址也可以了)
建立一个py文件,写下如下代码:
例1:
import os
os.chdir('C:\libsvm-3.18\windows')#设定路径
from svmutil import *
y, x = svm_read_problem('train.1.txt')#读入训练数据
yt, xt = svm_read_problem('test.1.txt')#训练测试数据
m = svm_train(y, x )#训练
svm_predict(yt,xt,m)#测试
执行上述代码,精度为:Accuracy = 66.925% (2677/4000) (classification)
常用接口
svm_train() : train an SVM model#训练
svm_predict() : predict testing data#预测
svm_read_problem() : read the data from a LIBSVM-format file.#读取libsvm格式的数据
svm_load_model() : load a LIBSVM model.
svm_save_model() : save model to a file.
evaluations() : evaluate prediction results.
- Function: svm_train#三种训练写法
There are three ways to call svm_train()
>>> model = svm_train(y, x [, 'training_options'])
>>> model = svm_train(prob [, 'training_options'])
>>> model = svm_train(prob, param)
有关参数的设置(read me 文件夹中有详细说明):
Usage: svm-train [options] training_set_file [model_file]
options:
-s svm_type : set type of SVM (default 0)#选择哪一种svm
0 -- C-SVC (multi-class classification)
1 -- nu-SVC (multi-class classification)
2 -- one-class SVM
3 -- epsilon-SVR (regression)
4 -- nu-SVR (regression)
-t kernel_type : set type of kernel function (default 2)#是否用kernel trick
0 -- linear: u'*v
1 -- polynomial: (gamma*u'*v + coef0)^degree
2 -- radial basis function: exp(-gamma*|u-v|^2)
3 -- sigmoid: tanh(gamma*u'*v + coef0)
4 -- precomputed kernel (kernel values in training_set_file)
-d degree : set degree in kernel function (default 3)
-g gamma : set gamma in kernel function (default 1/num_features)
-r coef0 : set coef0 in kernel function (default 0)
-c cost : set the parameter C of C-SVC, epsilon-SVR, and nu-SVR (default 1)
-n nu : set the parameter nu of nu-SVC, one-class SVM, and nu-SVR (default 0.5)
-p epsilon : set the epsilon in loss function of epsilon-SVR (default 0.1)
-m cachesize : set cache memory size in MB (default 100)
-e epsilon : set tolerance of termination criterion (default 0.001)
-h shrinking : whether to use the shrinking heuristics, 0 or 1 (default 1)
-b probability_estimates : whether to train a SVC or SVR model for probability estimates, 0 or 1 (default 0)
-wi weight : set the parameter C of class i to weight*C, for C-SVC (default 1)
-v n: n-fold cross validation mode
-q : quiet mode (no outputs)
三提高预测的准确率:
通过一定的过程,可以提高预测的准确率(在文献2中有详细介绍):
a.转换数据为libsvm可用形式.(可以通过下载的数据了解格式)
b.进行一个简单的尺度变换
c.利用RBF kernel,利用cross-validation来查找最佳的参数 C 和 r
d.利用最佳参数C 和 r ,来训练整个数据集
e.测试
再看例子1:
1.进入cmd模式下,输入如下代码,将现有数据进行适度变换,生成变换后的数据文件train.1.scale.txt
参数说明:
-l 变换后的下限
-u 变换后的上限
-s 参考上文
2执行以下代码
import os
os.chdir('C:\libsvm-3.18\windows')#设定路径
from svmutil import *
y, x = svm_read_problem('train.1.scale.txt')#读入训练数据
yt, xt = svm_read_problem('test.1.scale.txt')#训练测试数据
m = svm_train(y, x )#训练
svm_predict(yt,xt,m)#测试
精确度为Accuracy = 95.6% (3824/4000) (classification)。
可见我们只是做了简单的尺度变换后,预测的正确率大大提升了。
3通过选择最优参数,再次提高预测的准确率:(需要把tools文件下的grid.py拷贝到'C:\libsvm-3.18\windows'下)
import os
os.chdir('C:\libsvm-3.18\windows')#设定路径
from svmutil import *
from grid import *
rate, param = find_parameters('train.1.scale.txt', '-log2c -3,3,1 -log2g -3,3,1')
y, x = svm_read_problem('train.1.scale.txt')#读入训练数据
yt, xt = svm_read_problem('test.1.scale.txt')#训练测试数据
m = svm_train(y, x ,'-c 2 -g 4')#训练
p_label,p_acc,p_vals=svm_predict(yt,xt,m)#测试
执行上面的程序,find_parmaters函数,可以找到对应训练数据较好的参数。后面的log2c,log2g分别设置C和r的搜索范围。搜索机制是以2为底指数搜索,如 –log2c –3 , 3,1 就是参数C,从2^-3,2^-2,2^-1…搜索到2^3.
搜索到较好参数后,在训练的时候加上参数的设置。
另外,读者可以自己试试数据集2,3.
Ⅲ matlab r2014a怎样安装libsvm工具箱
1.设置路径:用Add with Subfolders添加目录(将工具箱所在文件夹的子目录也添加到MATLAB工作版搜索目录)
2.选择编译器:mex -setup(权mex后面有空格)
3.编译:make(要把MATLAB当前目录调整到libsvm工具箱所在文件夹)双击make.m文件
PS:运行help train得到的是MATLAB自带的svmtrain函数的帮助文件
运行help svmpredict会有报错:svmpredict not found
工具箱中的README稳健可以算是帮助文件
table键对函数进行补全!
Ⅳ 有人知道怎么把SVDD工具箱装到libsvm吗
1 先下载 libsvm-svdd-3.18.zip和 libsvm-3.18.zip,并解压得到文件夹 libsvm-svdd-3.18和libsvm-3.18;
2 将文件夹 libsvm-svdd-3.18根目录下内的容svm.cpp、svm.h和svm-train.c复制到 libsvm-3.18根目录下并覆盖原来的这3个文件;将文件夹 libsvm-svdd-3.18中 matlab里的文件 svmtrain.c 复制到 libsvm-3.18中的matlab文件夹中覆盖原来的c文件;
3 安装 libsvm-3.18,这个教程网上一大堆,主要是两步:mex -setup和 make;
4 测试安装是否成功。
Ⅳ 如何下载libsvm python
下载libsvm python的方法:
1、访问“www.csie.ntu.e.tw/~cjlin/libsvm/”网页,下载zip格式的数据包
2、将文件解压到回python的site-packages文件夹中就可答以了
更多Python知识,请关注:Python自学网!!
Ⅵ 求在MATLAB下编译好(可以直接使用)的libsvm工具箱
以下抄两种方法,我已经亲测可用袭
方法1:可以在其他朋友的电脑上进行编译,编译完后直接把libsvmread.mexw64、libsvmwrite.mexw64、svmpredict.mexw64、svmtrain.mexw64复制到你自己的程序中即可运行。这种方法的弊端是不同的算法程序中均需要复制一次。
方法2:把编译完后的libsvmread.mexw64、libsvmwrite.mexw64、svmpredict.mexw64、svmtrain.mexw64这几个文件添加到F:\MATLAB 2015a anzhuang\toolbox\libsvm-3.22\matlab下,即可
Ⅶ 怎么安装libsvm工具箱
你的和我的情况一模一样。
我折腾了两天最后解决了。
因为matlab软件是在win XP是弄得,后来升级的win7最多支持到vista,所以直接安装不行。
我在装的时候,可以安装,但是打不开,后来发现,只要安装完之后再matlab的快捷方式下点击右键,在兼容性下面点击window XP下就可以了。卸载的时候也不能卸,需要找到uninstall.exe这个文件,同样在兼容性下面点击window XP下就可以了。如果你连安装都不能的话,那么就就在install.exe中点击右键,兼容性下面选择window XP,然后确定,就一切OK了。
Ⅷ 新手求助,64位win7安装libsvm工具箱问题
你的和我的情况一模一样。
我折腾了两天最后解决了。
因为matlab软件是在win XP是弄得,后来升级的win7最多支持到vista,所以直接安装不行。
我在装的时候,可以安装,但是打不开,后来发现,只要安装完之后再matlab的快捷方式下点击右键,在兼容性下面点击window XP下就可以了。卸载的时候也不能卸,需要找到uninstall.exe这个文件,同样在兼容性下面点击window XP下就可以了。如果你连安装都不能的话,那么就就在install.exe中点击右键,兼容性下面选择window XP,然后确定,就一切OK了。