您现在的位置是:首页 > 经典句子

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

作者:言安琪时间:2024-04-28 10:40:46分类:经典句子

简介  文章浏览阅读2.6k次,点赞6次,收藏32次。在看网上很多支持向量机的代码时,发现大家使用的很多都是svmtrain函数,但是在自己电脑上编译时就出现“svmtrain已删除的错误”,这是因为2018版本之后的matlab中删除了svmtrain函数,但是在l

点击全文阅读

在看网上很多支持向量机的代码时,发现大家使用的很多都是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当前文件夹,就可以正常运行了 

 

点击全文阅读

郑重声明:

本站所有活动均为互联网所得,如有侵权请联系本站删除处理

我来说两句