《本文同步发布于“脑之说”微信公众号,欢迎搜索关注~~》
目前,机器学习已广泛地应用于脑科学领域的研究中,特别是在利用脑影像数据进行疾病的诊断方面,离不开分类算法。支持向量机(Support Vector Machine, SVM)作为一种有监督学习的二元分类器,在小样本分类中具有突出的优势,因此非常适合于基于脑影像数据的疾病分类研究。LIBSVM工具包是台湾大学Lin Chih-Jen教授等开发一个SVM工具包,其可运行于Python, R, MATLAB等语言环境下,是目前大家用的比较多的一个SVM工具包。本文,笔者详细阐述Matlab环境下LIBSVM的安装和使用教程,希望对大家的研究有所帮助。
LIBSVM的安装
https://www.csie.ntu.edu.tw/~cjlin/libsvm/#matlab
从图1可以看到,LIBSVM可以在多种语言环境下都可以运行。
从打开的网页中找到图2所示的下载页面,点击下载zip或 tar.gz格式的压缩包,目前的最新版本是libsvm-3.23
接下来,进行Matlab设置路径:Matlab菜单选择“File—Set Path—Add with Subfolders”,选中libsvm-3.23文件夹,最后点击Save,如图4所示:
注意:如果你电脑中未安装,会提示错误。这时你可以打开如下网址安装不同Matlab版本兼容的编译器。
https://www.mathworks.com/support/requirements/previous-releases.html
LIBSVM测试
执行完上述步骤,LIBSVM即可安装成功。LIBSVM安装成功后,可以用工具包自带的数据集“heart_scale”进行测试。直接在Matlab命令窗口中输入以下指令:
[Label,Feature]=libsvmread(‘D:\tool\libsvm-3.23\heart_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所示:
参考文献
[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作为一种有监督学习的二元分类器,在小样本分类中具有突出的优势,因此广泛应用于脑科学领域。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。