Matlab中配置LibSVM 总结
1.参考网站:
libsvm库下载:http://www.csie.ntu.edu.tw/~cjlin/libsvm/
视频:http://v.youku.com/v_showMini/id_XMjc2NTY3MzYw_ft_131.html
详解:http://www.matlabsky.com/thread-11925-1-1.html
2.操作流程:
请注意:详细操作流程请参考上面的“详解”网站,这里只说大框架和详解里没有提到的问题。
A.设置path
File->set path ->add with subfolders->加入libsvm-3.11文件夹的路径
B. 在matlab中编译
目的:将libsvm-3.11\matlab 中 libsvmwrite.c 等 C++文件编译成 libsvmread.mexw32 等matlab文件,这样就可以在command window中被直接调用了。
注意:在最外面的Readme中有提到已经有编译好的文件,比如在libsvm-3.11\windows中也会看到libsvmread.mexw32,但这里不要被误导!还是需要你自己再编译一遍的!
如果是最新版MATLAB,mex过程有点不一样,具体如下:
>>mex –setupMEX 配置为使用 'Microsoft Windows SDK 7.1 (C)' 以进行 C 语言编译。 Warning: The MATLAB C and Fortran API has changed to support MATLABvariables with more than 2^32-1 elements. In the near futureyou will be required to update your code to utilize thenew API. You can find more information about this at:http://www.mathworks.com/help/matlab/matlab_external/upgrading-mex-files-to-use-64-bit-api.html. 要选择不同的语言,请从以下选项中选择一种命令:mex -setup C++ mex -setup FORTRAN
我们要选择的是C++编译器:
>> mex -setup C++ MEX 配置为使用 'Microsoft Windows SDK 7.1 (C++)' 以进行 C++ 语言编译。 Warning: The MATLAB C and Fortran API has changed to support MATLABvariables with more than 2^32-1 elements. In the near futureyou will be required to update your code to utilize thenew API. You can find more information about this at:http://www.mathworks.com/help/matlab/matlab_external/upgrading-mex-files-to-use-64-bit-api.html.
这样就可以执行make过程了:
>> make 使用 'Microsoft Windows SDK 7.1 (C)' 编译。 MEX 已成功完成。 使用 'Microsoft Windows SDK 7.1 (C)' 编译。 MEX 已成功完成。 使用 'Microsoft Windows SDK 7.1 (C++)' 编译。 找不到 D:\MATLAB\R2014A\toolbox\libsvm-3.21\matlab\svmtrain.exp 找不到 D:\MATLAB\R2014A\toolbox\libsvm-3.21\matlab\svmtrain.exp MEX 已成功完成。 使用 'Microsoft Windows SDK 7.1 (C++)' 编译。 找不到 D:\MATLAB\R2014A\toolbox\libsvm-3.21\matlab\svmpredict.exp 找不到 D:\MATLAB\R2014A\toolbox\libsvm-3.21\matlab\svmpredict.exp MEX 已成功完成。 >>
C.加载数据集
就是这里搞了我一下午!
加载数据集
load heart_scale ;
有两个数据集,一个是C++的, 一个是matlab的。libsvm库中下载的是C++数据,
所以matlab加载我们下载的heart_scale是会报错的:
法1、下载matlab数据集(http://download.csdn.net/detail/abcjennifer/4215779)
法2、用libsvmread而非load.
这样就可以加载数据集了,完成该步骤后发现Workspace中出现了heart_scale_inst 和 heart_scale_label,说明正确。
ok,下一步我们来测试svm的训练和predict
D.train & predict
>> [heart_scale_label, heart_scale_inst] = libsvmread('heart_scale'); >> model = libsvmtrain(heart_scale_label, heart_scale_inst, '-c 1 -g 0.07'); * optimization finished, #iter = 134 nu = 0.433785 obj = -101.855060, rho = 0.426412 nSV = 130, nBSV = 107 Total nSV = 130 >> [predict_label, accuracy, dec_values] = libsvmpredict(heart_scale_label, heart_scale_inst, model); Accuracy = 86.6667% (234/270) (classification)
3.总结
本文借鉴了浙大天才美女http://blog.csdn.net/abcjennifer/article/details/7370177得很多内容,主要在补充了新版MATLAB下的一些编译细节。此外,对于编译后报的“没找到”不用管,不影响。如果测试后没有Accuracy输出或输出为空,应该采用三个参量的返回值。具体如下:>> [predict_label, accuracy, dec_values] = libsvmpredict(heart_scale_label, heart_scale_inst, model); Accuracy = 86.6667% (234/270) (classification)
再次表示感谢!
Matlab中配置LibSVM 总结相关推荐
- 在Matlab中配置libsvm
一般步骤: 1.下载libsvm安装包,下载后解压,建议将解压文件放在Matlab安装路径的toolbox文件夹下"..\MATLAB\R2014a\toolbox\libsvm-3.24& ...
- MATLAB中使用LIBSVM进行SVM参数寻优
MATLAB中使用LIBSVM进行SVM参数寻优 一些资源网站 配置 svmtrain svmParams -t:表示选择的核函数类型 -g为核函数的参数系数 -c为惩罚因子系数 -v为交叉验证的数, ...
- matlab中使用libsvm工具箱训练的svm分类器model保存
参考自:https://blog.csdn.net/icestone007/article/details/6804150 最近自己做的项目因为用到SVM分类,使用的是matlab中使用libsvm工 ...
- matlab的libsvm程序,matlab中安装Libsvm 步骤
源自:http://blog.sina.com.cn/s/blog_4fe347e60101h5uz.html 一.下载libsvm 在libsvm的网站上下载 libsvm-3.12.zip文件,解 ...
- matlab中的libsvm怎么录入数据啊,LibSVM在MATLAB中使用时的几个问题
在科研中需要用到支持向量机(Support Vector Machines, SVM)来进行分类,而目前比较成熟的用于实现SVM的软件包则首推LibSVM.LibSVM目前的版本已经能直接在MATLA ...
- 在matlab中配置vlfeat
在VLFeat官网上是这么介绍VLFeat的:VLFeat开源库实现了很多著名的机器视觉算法,如HOG, SIFT, MSER, k-means, hierarchical k-means, aggl ...
- matlab2015b vlfeat,在matlab中配置vlfeat
言归正传,以下介绍vlfeat在mathlab中的配置方法: 一.首先应准备的东西: 1. Matlab软件(我使用的mathlab是2013b试用版的) 2. vlfeat文件,可以是二进制包,也可 ...
- matlab使用mex,c – 如何在Matlab中配置MEX功能
分析MEX文件是棘手的,因为MEX文件是共享库.在 Linux上使用标准'gprof'方法无法做到这一点 – gprof根本不这样做.我尝试使用sprof,但是我得到了 "PLTREL no ...
- 【CUDA7.5】MATLAB中配置Win7+Matlab R2015b+CUDA7.5+vs2013配置方法
1.我的版本组合:Win7+Matlab R2015b+CUDA7.5+vs2013 CUDA7.5下载地址为: http://developer.download.nvidia.com/comput ...
最新文章
- mysql error104528000_腾讯云服务器CentOS安装JDK+Tomcat+MySQL详细步骤(以及遇到的各种坑)...
- 复地集团的现代化办公方案
- 基于XMPP协议的aSmack源码分析
- KMP 中next 数组的性质
- springboot 主键重复导致数据重复_程序员:MySQL处理插入过程中主键或唯一键重复值的解决办法
- 时序数据库timescaleDB安装
- Node.js 系列翻译---console
- 安卓端和IOS端小程序蓝牙通讯问题
- c++ qt5范例开发大全_237页建设工程监理内业资料全套范例,附百份案例表格,快拿走...
- CSDN blog 还需要继续改进
- 矩阵分析 (六) 矩阵的函数
- Thinking in Java 14.3.3递归计数
- ie8和ie11的html代码生成,ie8升级ie11-IE11,IE8
- ECshop新手入门模板制作教程[转载]
- 网络编程——CS模型(总结)
- python语言由psf组织所有、这是一个商业组织_智慧职教云课堂APP店长实务答案搜题公众号...
- 【前端html页面数据导出为pdf文件】
- 有哪些好玩有趣的国内外网站值得分享?
- 全面解析大数定律:大数定律实现超额增长!
- 宽带电视显示服务器错误是什么意思,智能电视提示“WiFi登录失败”什么原因?当贝市场告诉你...
热门文章
- aspnet_regsql在哪里 怎么运行它 以及功能介绍
- HD 1003 Max Sum(贪心)
- 最长公共子序列问题 (LCS)
- new与malloc的区别,以及内存分配浅析
- NYOJ 714 Card Trick
- ZooKeeper: 简介, 配置及运维指南
- 自动发送邮件(整理版)
- Visual LISP 第5章 编辑源程序代码(1)文本编辑工具
- 003.XE3包含了TPerlRegEx的单元
- [EF4] CompiledQuery预编译性能提升 + 数据载入之大彻大悟