当前位置: 首页 > news >正文

matlab您的安装可能需要执行其他配置步骤_支持向量机SVM工具包LIBSVM的安装和测试...

4ec99c2a72c85886e3fe632a597d53c6.gif点击上方蓝色字关注我们~

作者:kervin

编辑:韩苗苗

目前,机器学习已广泛地应用于脑科学领域的研究中,特别是在利用脑影像数据进行疾病的诊断方面,离不开分类算法。支持向量机(Support Vector Machine, SVM)作为一种有监督学习的二元分类器,在小样本分类中具有突出的优势,因此非常适合于基于脑影像数据的疾病分类研究。LIBSVM工具包是台湾大学Lin Chih-Jen教授等开发一个SVM工具包,其可运行于Python, R, MATLAB等语言环境下,是目前大家用的比较多的一个SVM工具包。本文,笔者详细阐述Matlab环境下LIBSVM的安装和使用教程,希望对大家的研究有所帮助。

774195227b7bab459dc173a9f75e5608.gif LIBSVM的安装 

1. 直接打开LIBSVM的官方网址进行下载:

https://www.csie.ntu.edu.tw/~cjlin/libsvm/#matlab

从图1可以看到,LIBSVM可以在多种语言环境下都可以运行。

从打开的网页中找到图2所示的下载页面,点击下载zip或 tar.gz格式的压缩包,目前的最新版本是libsvm-3.23

74862c96cb8973109f6ed297dac1507f.png

31d8f4913057541a54fb815a99227b9d.png

图1

5108cfce14e297da27c1f5ca27863666.png

图2

 

2. 解压下载的压缩文件,里面包含包含MATLAB、Python等版本的安装包,这里笔者仅介绍Matlab环境下LIBSVM的安装,如图3所示:

74862c96cb8973109f6ed297dac1507f.png

5730882dec561a2c4c9b98a4197d9e2a.png

图3

 

3. 把解压出来的libsvm-3.23文件夹复制到你想存储的位置,这里笔者把libsvm-3.23文件夹放置在了“D:/tool”文件夹里面。

接下来,进行Matlab设置路径:Matlab菜单选择“File—Set Path—Add with Subfolders”,选中libsvm-3.23文件夹,最后点击Save,如图4所示:

74862c96cb8973109f6ed297dac1507f.png

8a8825537ba6636c09405f78b9d10ac7.png

图4

 

4. 把Matlab当前路径设置到libsvm-3.23的matlab文件夹,即D:\tool\libsvm-3.23\matlab,如图5所示:

74862c96cb8973109f6ed297dac1507f.png

b30741119fce913f343960c5fa7e1ff6.png

图5

 

5. 配置Matlab编译器。在Matlab命令窗口中输入“mex -setup”指令,会提示你选择Matlab默认的编译器。这里,笔者电脑中只装了一个编译器,即Microsoft Visual C++ 2010,故选择这个编译器即可,如图6所示。

注意:如果你电脑中未安装,会提示错误。这时你可以打开如下网址安装不同Matlab版本兼容的编译器。

https://www.mathworks.com/support/requirements/previous-releases.html

74862c96cb8973109f6ed297dac1507f.png

eeec9a909a4becbe7168fc824127d487.png

图6

 

6. 在Matlab文件夹中输入命令“make”,并按下Enter键对文件进行编译,如图7所示,编译成功之后会生成一些.mexw64(对于64位系统)或.mexw32(对于32位系统)文件。

74862c96cb8973109f6ed297dac1507f.png

e7aa11d9928529b2cbea2a90a2c47aa3.png

图7

 

7. 至此,LIBSVM安装成功。

74862c96cb8973109f6ed297dac1507f.png 774195227b7bab459dc173a9f75e5608.gif

LIBSVM测试

 

执行完上述步骤,LIBSVM即可安装成功。LIBSVM安装成功后,可以用工具包自带的数据集“heart_scale”进行测试。直接在Matlab命令窗口中输入以下指令:

[Label,Feature]=libsvmread('D:\tool\libsvm-3.23\heart_scale'); 

%读取数据集的标签和特征值;得到的Label为270*1的标签矩阵,Feature为270*13的特征矩阵,每一列表示一个特征变量

A=randperm(270);

model=svmtrain(Label(A(1:200),1),Feature(A(1:200),:)); %随机挑选200个样本作为训练集,得到训练好的模型model;

[predict_label,accuracy,deci_value]=svmpredict(Label(A(201:270),1),Feature(A(201:270),:),model); 

%剩余的70个样本作为测试集,对训练好的模型进行测试

具体结果如图8所示:

74862c96cb8973109f6ed297dac1507f.png

dc45d19c4977de539263d5a7bb483887.png

图8

 

参考文献

[1] Chih-Chung Chang and Chih-Jen Lin, LIBSVM : a library for support vector machines. ACM Transactions on Intelligent Systems and Technology, 2:27:1--27:27, 2011.

74862c96cb8973109f6ed297dac1507f.png 774195227b7bab459dc173a9f75e5608.gif 总结

支持向量机SVM作为一种有监督学习的二元分类器,在小样本分类中具有突出的优势,因此广泛应用于脑科学领域。笔者在此对LIBSVM工具包的安装步骤进行了详细的论述,需要的朋友可以按照此步骤进行工具包的安装。如有问题可以加笔者微信进行交流(微信号:kervin_zhao)。

如果各位朋友觉得本文对您有帮助,烦请各位积极转发本文到您的朋友圈,并点击文末右下方的“在看”。

原创不易,请各位朋友积极转发,多多支持,您的每一次转发就会给我们的创作增加一份动力!

▼ 往期精彩回顾 ▼
  • 聊一聊置换检验Permutation test的原理

  • 如何计算EEG信号的香农熵Shannon entropy(附Matlab程序)

  • 脑科学研究中常用的数据归一化方法(附Matlab程序)

  • 谈一谈两种常用的多重比较校正方法(附Matlab程序)

关注我们

5e10ee90aa216286b92e112fb5ef6985.png

相关文章:

  • 移动应用的三个维度
  • idea配置文件注释快捷_IntelliJ IDEA如何创建文档注释
  • git 上传代码到指定仓库_本地已经有了代码, gitHub上面又建了一个仓库, 怎么上传代码到新仓库?...
  • DBG$表释疑
  • qt写文本文件换行符_VS2017里代码直接写中文的问题分析
  • 国际商务英语学习[十三]
  • hive根据已有表创建新表_hive建表并load数据小结
  • nQSError:15001/15019 无法加载主题区域 xxx 的导航空间/v_month更详细的子层已于同一表或更详细的表中的列关联...
  • 数据集标注工具_激光雷达点云分割、精细标注,Scale AI 发布自动驾驶数据集
  • flashbacklog区内容的清除
  • ip地址 python request_Django Request对象详解及用它显示真实IP地址
  • 宿主机连接oracle容器_虚拟机Linux安装Oracle容器并实现局域网其他主机访问查询...
  • Nebula3 in CLR
  • mysql 按顺序 自增长_mysql数据库自增id重新从1排序的两种方法
  • 国际商务英语学习[十四]
  • Angular js 常用指令ng-if、ng-class、ng-option、ng-value、ng-click是如何使用的?
  • CentOS6 编译安装 redis-3.2.3
  • CSS中外联样式表代表的含义
  • es6要点
  • Java 最常见的 200+ 面试题:面试必备
  • JavaScript/HTML5图表开发工具JavaScript Charts v3.19.6发布【附下载】
  • JS题目及答案整理
  • Linux编程学习笔记 | Linux IO学习[1] - 文件IO
  • Redis提升并发能力 | 从0开始构建SpringCloud微服务(2)
  • Swoft 源码剖析 - 代码自动更新机制
  • VUE es6技巧写法(持续更新中~~~)
  • Vue UI框架库开发介绍
  • vue从创建到完整的饿了么(11)组件的使用(svg图标及watch的简单使用)
  • 持续集成与持续部署宝典Part 2:创建持续集成流水线
  • 诡异!React stopPropagation失灵
  • 后端_ThinkPHP5
  • 聚类分析——Kmeans
  • 七牛云假注销小指南
  • 在GitHub多个账号上使用不同的SSH的配置方法
  • 哈罗单车融资几十亿元,蚂蚁金服与春华资本加持 ...
  • (7)STL算法之交换赋值
  • (cos^2 X)的定积分,求积分 ∫sin^2(x) dx
  • (八)Docker网络跨主机通讯vxlan和vlan
  • (附源码)springboot猪场管理系统 毕业设计 160901
  • (附源码)ssm户外用品商城 毕业设计 112346
  • (三分钟)速览传统边缘检测算子
  • (一)pytest自动化测试框架之生成测试报告(mac系统)
  • (转)3D模板阴影原理
  • ***检测工具之RKHunter AIDE
  • .net mvc 获取url中controller和action
  • .NET 事件模型教程(二)
  • .NET/C# 使用反射调用含 ref 或 out 参数的方法
  • .NET国产化改造探索(三)、银河麒麟安装.NET 8环境
  • @RequestMapping处理请求异常
  • @RequestParam @RequestBody @PathVariable 等参数绑定注解详解
  • [ vulhub漏洞复现篇 ] Celery <4.0 Redis未授权访问+Pickle反序列化利用
  • [04] Android逐帧动画(一)
  • [1]-基于图搜索的路径规划基础
  • [3D游戏开发实践] Cocos Cyberpunk 源码解读-高中低端机性能适配策略
  • [④ADRV902x]: Digital Filter Configuration(发射端)