搞了一天,看了很多资料,终于搞好了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.加载数据集

就是这里搞了我一下午!

加载数据集

[cpp] view plaincopy
  1. load heart_scale

有两个数据集,一个是C++的, 一个是matlab的。libsvm库中下载的是C++数据,

所以matlab加载我们下载的heart_scale是会报错的:<这就是视频中遗漏的小问题>

[cpp] view plaincopy
  1. ??? Error using ==> load
  2. 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,就是这里

[cpp] view plaincopy
  1. libsvmread('heart_scale');

这样就可以加载数据集了,完成该步骤后发现Workspace中出现了heart_scale_inst 和 heart_scale_label,说明正确。

ok,下一步我们来测试svm的训练和predict

D.train & predict

[cpp] view plaincopy
  1. model = svmtrain(heart_scale_label,heart_scale_inst);
  2. [predict_label,accuracy] = svmpredict(heart_scale_label,heart_scale_inst,model);

可以看到结果:

[cpp] view plaincopy
  1. 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中的使用相关推荐

  1. LIBSVM在MATLAB中的使用及SVM最优参数选取示例代码

    1. 参考网站: LIBSVM 库下载:http://www.csie.ntu.edu.tw/~cjlin/libsvm/ https://www.csie.ntu.edu.tw/~cjlin/lib ...

  2. matlab中的libsvm怎么录入数据啊,LibSVM在MATLAB中使用时的几个问题

    在科研中需要用到支持向量机(Support Vector Machines, SVM)来进行分类,而目前比较成熟的用于实现SVM的软件包则首推LibSVM.LibSVM目前的版本已经能直接在MATLA ...

  3. 如何使用matlab参数寻优,LIBSVM在matlab中使用小结

    安装环节: 以下我说一下,我安装过程中所遇到的困难 1.matlab未安装完整导致编译后libsvm仍无法使用 对于32位的系统,libsvm没有现成的命令执行文件供matlab调用,因此需要我们自己 ...

  4. matlab的libsvm程序,matlab中安装Libsvm 步骤

    源自:http://blog.sina.com.cn/s/blog_4fe347e60101h5uz.html 一.下载libsvm 在libsvm的网站上下载 libsvm-3.12.zip文件,解 ...

  5. libsvm在matlab中使用的常见错误及libsvm的使用

    以下是libsvm的使用及常见错误 1.Error using svmtrain (line 233) Y must be a vector or a character array. 首先,需要看你 ...

  6. 在Matlab中配置libsvm

    一般步骤: 1.下载libsvm安装包,下载后解压,建议将解压文件放在Matlab安装路径的toolbox文件夹下"..\MATLAB\R2014a\toolbox\libsvm-3.24& ...

  7. LIBSVM在Matlab下的使用

    支持向量机(SVM,Support Vector Machine)是一种基于统计学习理论的模式识别方法,在解决小样本.高维度及非线性的分类问题中应用非常广泛. LIBSVM是一个由台湾大学林智仁(Li ...

  8. SVM多分类问题 :matlab中的应用

    转载自:https://blog.csdn.net/lwwangfang/article/details/52355062 对于支持向量机,其是一个二类分类器,但是对于多分类,SVM也可以实现.主要方 ...

  9. Matlab中配置LibSVM 总结

    1.参考网站: libsvm库下载:http://www.csie.ntu.edu.tw/~cjlin/libsvm/ 视频:http://v.youku.com/v_showMini/id_XMjc ...

最新文章

  1. java实现线性表的顺序存储
  2. 触发器代码(更新表A数据自动更新表B字段列)
  3. 图像色调,饱和度,对比度等相关定义
  4. ginapi服务器性能,gin框架构建Api之:环境配置和路由
  5. set集合判断集合中是否有无元素_Python入门教程笔记(五)集合(set)及函数
  6. MySQL InnoDB 存储引擎索引那些事儿
  7. 计算机学情分析,中职学生的学情分析 《计算机专业》.doc
  8. iOS开发之开发者账号的申请进度跟进(申请的询问)
  9. Java EE实战教程 servlet (一)
  10. 基于MATLAB的电力系统短路故障分析与仿真
  11. 深入解析MySQL索引原理
  12. 波束形成算法学习笔记之二(固定波束形成)
  13. 如何用Python写一个小游戏(1)
  14. 虾皮的发货模式是什么?怎么发货?
  15. 新媒体下旅游目的地营销研究――以安徽省灵璧县为例
  16. 沉迷学习无法自拔等短语_如果您是一个沉迷于学习的开发人员,请查看这些资源。...
  17. 哪些人会看作业指导书?作业指导书怎样才能发挥作用?
  18. C++中的fstream/ifstream/ofstream和MFC中的CFile/CStdioFile
  19. 被动信息收集(一)nslookup.dig.DNS字典爆破.whois
  20. 深度估计中的不确定度方法总结

热门文章

  1. 干货 | 算法工程师入门第二期——穆黎森讲增强学习(一) 本文作者:大牛讲堂 编辑:刘芳平 2017-07-19 11:38 导语:地平线大牛讲堂算法工程师入门第二期来啦!本期地平线资深算法工程师、增
  2. TensorFlow + Docker + PyCharm
  3. 人工智能产品化的关键是基础架构和数据,而非算法
  4. LR模型常见问题小议
  5. MySQL-主从架构探索
  6. 基础JavaScript_Day03
  7. html限制最多字符串,css – 设置字符串换行中允许的最大换行量
  8. mui 解决弹出图片问题
  9. c语言入口及出口参数说明,麻烦帮忙指出一下这个函数的入口参数和出口参数呀!...
  10. python中with的用法,上下文管理器