读取libsvm_支持向量机SVM工具包LIBSVM的安装和测试

ed81041037558b67adb5afd877eb9e48.png

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

LIBSVM的安装

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

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

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

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

5c0d042aa7c354b6a423de4b986301de.png
图1

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

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

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

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

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

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

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

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

2f79556a78a4e9a55a0e604c4cad7f55.png
图7
  1. 至此,LIBSVM安装成功。

LIBSVM测试

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

[Label,Feature]=libsvmread(‘D:toollibsvm-3.23heart_scale’);

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

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所示:

ff4c3730f5cbc007259e88e789cc7792.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.

总结

支持向量机SVM作为一种有监督学习的二元分类器,在小样本分类中具有突出的优势,因此广泛应用于脑科学领域。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值