LibSVM 在matlab中的使用
搞了一天,看了很多资料,终于搞好了matlab中调用大牛写好的svm库,将结果告诉大家避免以后走弯路。
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版本太低,如matlab 7.0是不能用VS作为编译器的,只能用VC++ 6.0,这是我劝你给matlab升级吧!别装vc了~我就是这样,升级到Matlab 2011b就可以用VS2008做编译器了)
C.加载数据集
就是这里搞了我一下午!
加载数据集
- load heart_scale
有两个数据集,一个是C++的, 一个是matlab的。libsvm库中下载的是C++数据,
所以matlab加载我们下载的heart_scale是会报错的:<这就是视频中遗漏的小问题>
- ??? Error using ==> load
- Number of columns on line 3 of ASCII file D:\ZJU projects\machine learning\libsvm-3.11\heart_scale must be the same as previous lines.
这时怎么办?
法1、下载matlab数据集(http://download.csdn.net/detail/abcjennifer/4215779)
法2、用libsvmread而非load,就是这里
- libsvmread('heart_scale');
这样就可以加载数据集了,完成该步骤后发现Workspace中出现了heart_scale_inst 和 heart_scale_label,说明正确。
ok,下一步我们来测试svm的训练和predict
D.train & predict
- model = svmtrain(heart_scale_label,heart_scale_inst);
- [predict_label,accuracy] = svmpredict(heart_scale_label,heart_scale_inst,model);
可以看到结果:
- Accuracy = 86.6667% (234/270) (classification)
=========================MAC 版如何在matlab中使用libsvm=========================
下面说下mac怎么用libsvm,这里的问题是mex -setup的问题,需要安装一个补丁。
1. mac中安装xcode
2. xcode的preference中装command line tools
3. 下载最新补丁http://www.mathworks.cn/support/solutions/en/data/1-FR6LXJ/
4. 在matlab命令行输入>>cd(matlabroot)
5. 在matlab命令行输入这个打补丁
>>!unzip -o ~/Downloads/optsPatch_MACOSX8.patch
6. 可以运行mex -setup了,选择将原来的gcc覆盖掉
7. 到libsvm/matlab进行make
就搞定啦!
具体参考:http://bbs.weiphone.com/read-htm-tid-5787323.html
就OK了。祝大家成功快速实现!
from: http://blog.csdn.net/abcjennifer/article/details/7370177
LibSVM 在matlab中的使用相关推荐
- LIBSVM在MATLAB中的使用及SVM最优参数选取示例代码
1. 参考网站: LIBSVM 库下载:http://www.csie.ntu.edu.tw/~cjlin/libsvm/ https://www.csie.ntu.edu.tw/~cjlin/lib ...
- matlab中的libsvm怎么录入数据啊,LibSVM在MATLAB中使用时的几个问题
在科研中需要用到支持向量机(Support Vector Machines, SVM)来进行分类,而目前比较成熟的用于实现SVM的软件包则首推LibSVM.LibSVM目前的版本已经能直接在MATLA ...
- 如何使用matlab参数寻优,LIBSVM在matlab中使用小结
安装环节: 以下我说一下,我安装过程中所遇到的困难 1.matlab未安装完整导致编译后libsvm仍无法使用 对于32位的系统,libsvm没有现成的命令执行文件供matlab调用,因此需要我们自己 ...
- matlab的libsvm程序,matlab中安装Libsvm 步骤
源自:http://blog.sina.com.cn/s/blog_4fe347e60101h5uz.html 一.下载libsvm 在libsvm的网站上下载 libsvm-3.12.zip文件,解 ...
- libsvm在matlab中使用的常见错误及libsvm的使用
以下是libsvm的使用及常见错误 1.Error using svmtrain (line 233) Y must be a vector or a character array. 首先,需要看你 ...
- 在Matlab中配置libsvm
一般步骤: 1.下载libsvm安装包,下载后解压,建议将解压文件放在Matlab安装路径的toolbox文件夹下"..\MATLAB\R2014a\toolbox\libsvm-3.24& ...
- LIBSVM在Matlab下的使用
支持向量机(SVM,Support Vector Machine)是一种基于统计学习理论的模式识别方法,在解决小样本.高维度及非线性的分类问题中应用非常广泛. LIBSVM是一个由台湾大学林智仁(Li ...
- SVM多分类问题 :matlab中的应用
转载自:https://blog.csdn.net/lwwangfang/article/details/52355062 对于支持向量机,其是一个二类分类器,但是对于多分类,SVM也可以实现.主要方 ...
- Matlab中配置LibSVM 总结
1.参考网站: libsvm库下载:http://www.csie.ntu.edu.tw/~cjlin/libsvm/ 视频:http://v.youku.com/v_showMini/id_XMjc ...
最新文章
- Pandownload惊喜复活!下载速度惊人!
- linux下wc命令详解
- arc_loss训练手写数字分类
- 依赖ConstraintLayout报错,Could not find *****,Failed to resolve:*****
- legend3---PHP使用阿里云短信服务
- 基于FPGA的波速形成实现
- python 列表常用操作(二)
- vscode函数跳转插件_人生苦短,我们为 Cocos Creator 开发的插件和工具
- sdi转hdmi转换器应用领域及规格参数详解
- 如何安装mysql5.7.21_Linux 安装MySql 5.7.21 操作步骤
- Flutter AnimatedSwitcher 实现优美的图片切换动画
- 缓存雪崩处理方法-双缓存思路
- 漫谈 Clustering (4): Spectral Clustering
- 怎样快速使用计算机,三分钟教你如何快速熟悉电脑,怎样快速准确的熟悉键盘打字以及快捷键的使用...
- 教务管理系统乱码服务器不可,青果教务管理系统Post登录(二)
- matlab 求解高次方程,Matlab求解多元高次方程组
- js用函数找出1 - 1000 之间7的倍数和包含7的数字,放入数组内
- 更便捷的二维码报修系统
- Tr1 Function
- 百度地图根据经纬度坐标,显示汽车行驶轨迹
热门文章
- [搜索]一种分词的实现(2)
- Algorithms_二叉树的层次遍历(广度优先)
- celery 可视化_在Flask中使用Celery进行多任务分布执行
- mysql如果索引为uid间隙锁_mysql 开发进阶篇系列 10 锁问题 (使用“索引或间隙锁”的锁冲突)...
- vue 表格内容跳转页面_Vue项目实战系列文章(一)项目预热
- destoon php,DESTOON_7.0_UTF8
- c语言容斥原理,容斥原理 | 易学教程
- vs 命令行参数调试
- SVM+HOG:用初次训练的.xml分类器在负样本原图上检测生成HardExample样本
- 【opencv】20.直方图均衡化的数学原理