libsvm之(一)安装与测试(matlab)
来源:互联网 发布:java培训班 编辑:程序博客网 时间:2024/04/28 15:40
作为一个晚起步的小伙子,得以站在大牛们的肩膀上快速入门。为了以防自己忘记,同时让其他人系统性的libsvm入门更加快速,这就开启一个系列了。
(这里会参考一篇帮助很大的blog:http://blog.csdn.net/abcjennifer/article/details/7370177,不单单是SVM,很多机器学习以及图像处理方面的问题我都从这里学到很多。)
Libsvm是什么?
LIBSVM是台湾大学林智仁(Lin Chih-Jen)教授等开发设计的一个简单、易于使用和快速有效的SVM模式识别与回归的软件包,他不但提供了编译好的可在Windows系列系统的执行文件,还提供了源代码,方便改进、修改以及在其它操作系统上应用;该软件对SVM所涉及的参数调节相对比较少,提供了很多的默认参数,利用这些默认参数可以解决很多问题;并提供了交互检验(Cross Validation)的功能。该软件可以解决C-SVM、ν-SVM、ε-SVR和ν-SVR等问题,包括基于一对一算法的多类模式识别问题。
Step 1. 下载
libsvm库下载:http://www.csie.ntu.edu.tw/~cjlin/libsvm/
注意:
1、找到网站中“Download LIBSVM”这个小标题的位置,进行libsvm工具的下载,下载下来的将是zip file或者ar.gz格式。
2、下载解压后,我们会看到两个最核心的函数“svm-train”(用来建立模型)以及“svm-predict”(用来预测)。
Step 2. 配置
a. 设置路径
首先需要将Matlab的工作路径调整到libsvm工具箱所在的文件夹。(否则将会出现 ??? undefined function or variable…)
b. 配置编译器
这一个操作是为了将libsvm工具包中的原来C++写的代码编译后为Matlab使用。(这里首先本机需要有预装的C++编译器,比如实现安装好Visual Studio。)下面要做的是在控制窗口输入:
>>mex -setup
然后我们会看到:
Welcome to mex -setup. This utility will help you set up a default compiler. For a list of supported compilers, see http://www.mathworks.com/support/compilers/R2013a/win64.html Please choose your compiler for building MEX-files: Would you like mex to locate installed compilers [y]/n?
这里我们选择是,输入“y”,会让我们选择编译器:
Select a compiler: [1] Microsoft Visual C++ 2010 in C:\Program Files (x86)\Microsoft Visual Studio 10.0 [0] None Compiler:
对于我的电脑,选择“1”并确认,会得到一大段文字,当我们在里面找到“Done … ”这样的关键字以后,说明我们的编译器选择成功了。
c. 编译文件
由于需要在Matlab下使用libsvm工具包,因此要先将当前路径调整到待编译的文件集中的“libsvm-3.20\matlab”的路径下。
然后我们输入:
>> make可以看到文件夹中生成了一些以“.mexw32”为后缀的文件,这就是编译完成后可供我们调用的函数,但是由于编码的问题我们无法以文档的形式直观地查看里面的代码。
Step 3. 测试
a. 加载数据
供测试用的数据在工具包主文件夹中就有,名字是”heart_scale“,包含两个文件(一个是270*13的样本,一个是270*1的标签)。
注意:
libsvm库中下载的是C++数据,所以如果我们直接使用“load heart_scale
”是会报错的。
所以我们需要使用的是”libsvmread()“这个函数进行读取。使用方法如下:
[label_vector, instance_matrix] = libsvmread('filename');所以我们输入:
[heart_scale_label,heart_scale_inst] = libsvmread('heart_scale');将在Workspace中得到上述的两个文件。
b. 训练
这里我们将用到”svmtrain“的模型训练函数,使用方法如下:
model = svmtrain(training_label_vector, training_instance_matrix, 'libsvm_options');由于只是测试我们不要求很好的参数,因此可以按如下参数进行输入:
model = svmtrain(heart_scale_label , heart_scale_inst);将得到类似如下的信息:
*optimization finished, #iter = 162nu = 0.431029obj = -100.877288, rho = 0.424462nSV = 132, nBSV = 107Total nSV = 132
到此为止证明我们的libsvm已经安装成功了。
c. 预测
作为锦上添花的一步,我们用刚刚训练好的model来对数据进行一个预测。我们把训练用的样本同样作为我们的测试样本,输入如下:
>> [predict_label] = svmpredict(heart_scale_label,heart_scale_inst,model);将得到包含准确率的信息:
Accuracy = 86.6667% (234/270) (classification)
blog内容参考视频:http://v.youku.com/v_showMini/id_XMjc2NTY3MzYw_ft_131.html
- libsvm之(一)安装与测试(matlab)
- LIBSVM学习(一)在Matlab环境下安装LIBSVM
- libSVM笔记之(一)在matlab环境下安装配置libSVM
- libsvm(MATLAB版本)安装与使用
- libsvm for matlab安装与测试
- libsvm与matlab,安装调试
- LIBSVM与LIBLINEAR(一)
- LIBSVM与LIBLINEAR(一)
- SVM实现及Libsvm工具箱的安装测试(基于Matlab R204a环境)
- libsvm-3.11(matlab)
- SVM实现多分类的程序基础工作(一)——安装libsvm以及libsvm和matlab自带的svm的区别
- SVM实现多分类的程序基础工作(一)——安装libsvm以及libsvm和matlab自带的svm的区别
- MATLAB 安装使用libsvm详细步骤(附图)
- 在windows, linux平台上安装 libsvm (matlab版本)
- Matlab安装支持向量机(libsvm插件)
- Python 之 LIBSVM 使用小结(一)
- Matlab安装使用libsvm
- Matlab 安装libsvm 教程
- Spring中Jdbctemplate的用法实例
- 彩色直方图均衡化
- poj 3169 Layout
- Android 框架
- PHP warning Cannot modify header information - headers already sent by (output started at...
- libsvm之(一)安装与测试(matlab)
- android:allowBackup属性设置
- _mysql_exceptions.Warning: Incorrect string value: '\xE5\x95\x86\xE5\x93\x81...' (mysql设置utf8字符集)
- vs2013遇到的问题集锦
- 谓词实现关键字搜索
- java计算公式
- 十六进制转八进制
- 安卓开发文件缓存方法的具体实现
- 【LeetCode】又开新篇章啦