如何在matlab里安装libsvm包
有时我们需要用到SVR(支持向量回归)方法,而 matlab 自带的svm工具箱不能做回归分析,于是有了安装libsvm包的打算。
中间遇到一些困难,比如找不到编译器等等,经过一下午和一晚上的努力,在matlab里可以使用libsvm了。
1.下载好libsvm包
下载libsvm-3.21到随意一个地方,比如到matlab安装路径下的 toolbox下——D:\MATLAB\R2014A\toolbox\下,并解压。
打开matlab,将libsvm-3.21\matlab 添加到路径,比如将:\MATLAB\R2014A\toolbox\libsvm-3.21\matlab 添加到路径。
setup 第一次尝试
若提示没有C++编译器,则根据提示的网址去下载 winsdk_web.exe,然后
双击运行winsdk_web.exe,安装到最后若提示失败,则去卸载自带的visual studio 和 .netframework
4,然后再运行 winsdk_web.exe,提示缺少 .netframework 4,则自行下载安装,反复运行 winsdk_web.exe。
直到运行 winsdk_web.exe 时出现如下图所示情况,说明距成功更近一步了,
2. setup
打开Matlab中,进入LIBSVM根目录下的matlab目录(如D:\MATLAB\R2014A\toolbox\libsvm-3.21),在命令窗口的输入mex -setup 输出为:
>>mex –setup
MEX 配置为使用 'Microsoft Windows SDK 7.1 (C)' 以进行 C 语言编译。
Warning: The MATLAB C and Fortran API has changed to support MATLAB
variables with more than ^- elements. In the near future
you will be required to update your code to utilize the
new 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
继续:
>> mex -setup C++
MEX 配置为使用 'Microsoft Windows SDK 7.1 (C++)' 以进行 C++ 语言编译。
Warning: The MATLAB C and Fortran API has changed to support MATLAB
variables with more than ^- elements. In the near future
you will be required to update your code to utilize the
new 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.
3.编译
执行 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 已成功完成。 >>
4.重命名
忽略错误(找不到……),继续,编译完成后,在当前目录下(libsvm-3.21/matlab下)会出现svmtrain.mexw64、svmpredict.mexw64 或者svmtrain.mexw32、svmpredict.mexw32 ,把文件名svmtrain和svmpredict 相应改成 libsvmtrain 和 libsvmpredict。
这是因为Matlab中自带有SVM的工具箱,其函数名字就是svmtrain和svmpredict,和 libsvm 默认的名字一样.
5.测试是否安装成功libsvm
libsvm 软件包中自带有测试数据,即软件包根目录下的 heart_scale 文件。
在matlab运行代码,输出如下:
>> [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 =
nu = 0.433785
obj = -101.855060, rho = 0.426412
nSV = , nBSV =
Total nSV =
>> [predict_label, accuracy, dec_values] = libsvmpredict(heart_scale_label, heart_scale_inst, model);
Accuracy = /) (classification)
如何在matlab里安装libsvm包的更多相关文章
- 如何在Ubuntu里安装Helm
Helm是什么?在战网上玩过暗黑破坏神2代的程序员们应该还记得,Helm是国度的意思. 而在计算机领域,Helm是什么? Helm是Kubernetes的一个包管理工具,有点像nodejs的npm,U ...
- 如何在 CentOS 里下载 RPM 包及其所有依赖包
方法一.利用 Downloadonly 插件下载 RPM 软件包及其所有依赖包 默认情况下,这个命令将会下载并把软件包保存到 /var/cache/yum/ 的 rhel-{arch}-channel ...
- 如何在win7下安装python包工具pip
1. 在安装pip前,请确认你win系统中已经安装好了python,和easy_install工具,如果系统安装成功,easy_install在目录C:\Python27\Scripts 下面, 确认 ...
- 从零开始搭建Java开发环境第二篇:如何在windows10里安装MySQL
1 下载安装包 1.1 压缩包 https://dev.mysql.com/downloads/mysql/ [外链图片转存失败(img-oesO8K09-1566652568838)(data:im ...
- 如何在Excel里安装excel插件?
随着科技的发展,人们对数据分析的要求越来越多, Excel也存在一些问题,长期困扰一线业务用户:首先是性能问题.对于大数据量,Excel处理起来很慢.数据获取的过程麻烦,特别是周期性的数据获取,每次都 ...
- 在Matlab中安装使用libsvm详细步骤(附图)
今天自己在matlab中安装libsvm,下面是详细的步骤 1.首先下载libsvmhttp://www.csie.ntu.edu.tw/~cjlin/libsvm/我的matlab版本 R2016a ...
- Fedora Linux安装deb包
前言: 我们知道,在Linux系统上有两种主要的软件包格式,分别是RPM和deb. RPM是"RPM Package Manager(RPM软件包管理器)"的递归缩写.RPM是一种 ...
- Conda下安装libsvm
如何在canda下安装libsvm? 版本:Python是2.7 canda2 首先想到的是去Python官网上找libsvm的包,结果并没有. 这是因为libsvm是c语言编写的并不是一个Pytho ...
- 已在Terminal安装了包,PyCharm却提示无法找到
想使用python的dpkt包解析pcap文件进行分析,已经按照提示在终端输入sudo apt install python-dpkt,并且显示安装成功. 但是回到PyCharm中依然报错,如图所示: ...
随机推荐
- iOS APNs远程推送流程精简版
1.去Apple Developer Center里创建应用的信息,指定APP ID(Bundle ID),配置里开启推送功能(Push Notifications). 后续步骤需要用到这个应用的包名 ...
- [Usaco2012 Open]Balanced Cow Subsets
Description Farmer John's owns N cows (2 <= N <= 20), where cow i produces M(i) units of milk ...
- New Year Tree CodeForces -620E
这个题有一个技巧:把颜色压到一个long long 上. #include<cstdio> #include<algorithm> #include<cstring> ...
- 图论/位运算 Codeforces Round #285 (Div. 2) C. Misha and Forest
题目传送门 /* 题意:给出无向无环图,每一个点的度数和相邻点的异或和(a^b^c^....) 图论/位运算:其实这题很简单.类似拓扑排序,先把度数为1的先入对,每一次少一个度数 关键在于更新异或和, ...
- C# 基础知识和VS2010的小技巧总汇
看了一些基础视频,才发现自己的基础比较薄弱,有很多基础知识都不知道.这里总汇一些基础知识. 1: foreach不仅可以作用于list类的索引集合,还可以遍历dictionary类,这一点比for更简 ...
- Oracle代码 规则 创建表 表空间 用户等
-----创建表空间----------create tablespace bdccslogging datafile 'D:\oracle\product\10.2.0\oradata\bdccs\ ...
- C. Hongcow Builds A Nation 并查集
http://codeforces.com/contest/745/problem/C 把他们并查集后, 其他没有连去government的点,全部放去同一个并查集,然后选择一个节点数最多的gover ...
- mysql 的 case when then 用法 和null 的判断
表:一个表 aa 有两个字段 id 和 sex ,第1条记录的sex 为空串 ('') 第二条记录的sex 为空 (null) 1. 用法: 第一种: select (case 字段名 whe ...
- Java Hello World 错误 找不到或无法加载主类
Java 有几年没用了 生疏了好多 最近又捡起来 结果第一个Hello World 就在黑窗口内报错! 遇到几个小问题. 1. 安装JDK后 在 CMD 中 执行 java -version 正常 因 ...
- vue1.0生命周期
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...