matlab中使用svmtrain函数显示“svmtrain已删除,请使用fitcsvm”的解决方法

在看网上很多支持向量机的代码时,发现大家使用的很多都是svmtrain函数,但是在自己电脑上编译时就出现“svmtrain已删除的错误”,这是因为2018版本之后的matlab中删除了svmtrain函数,但是在libsvm包中有svmtrain及svmpredict函数,我们可以通过安装libsvm包解决使用不了svmtrain的问题。

解决方法如下:

1.下载libsvm包

工具箱下载地址:LIBSVM -- A Library for Support Vector Machines (ntu.edu.tw)

选择对应的语言,我们这里需要的是matlab里的libsvm包,因此选择matlab语言:

点击右方的蓝色链接,跳转到如下界面:

 点击zip file进行下载。

2. 下载后,将其解压,并移动到matlab工具箱文件夹toolbox中

3.在matlab设置路径中将该文件夹添加进去 

点击添加文件夹,把第2步路径中的libsvm添加进去(图片显示已经添加好的情况) ,

记得点击保存,保存后才有效。

4.编译

打开刚刚添加的libsvm路径下的matlab中main.m进行编译

在命令行窗口输入mex -setup,

 

在命令行输入make

 

这时左边文件夹中生成四个新文件 

 

将这四个文件复制到 windows中替换

5.检验

在libsvm文件夹中找到heart_scale数据集,复制到matlab文件夹中 

在命令行输入下列代码

[heart_scale_label,heart_scale_inst]=libsvmread('heart_scale');
model = svmtrain(heart_scale_label,heart_scale_inst) ;
[predict_label,accuracy,dec_values] = svmpredict(heart_scale_label,heart_scale_inst,model);
 

如上图,显示运行结果准确率,表示libsvm包已安装好 

6.运行

找个代码测试一下

显示svmtrain不在当前路径下,只需要点击更改matlab当前文件夹,就可以正常运行了 

 

评论 9
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值