当前位置: 首页>编程语言>正文

mllib 工具Utilities有什么 libsvm工具箱

2022.3.20 星期天

[记录自己踩过的坑,不适用每个人]

matlab安装libsvm工具包

win10系统;matlab R2018a

一、libsvm工具包

1.下载libsvm工具箱,libsvm工具箱下载网站libsvm网站(LIBSVM -- A Library for Support Vector Machines (ntu.edu.tw)),或者直接从github上下载,一般是下载zip压缩文件,解压后如图。

其中有java,matlab和python 三种版本,以及测试数据集heart_scale,和readme说明文件(内有Libsvm的参数说明)。

mllib 工具Utilities有什么 libsvm工具箱,mllib 工具Utilities有什么 libsvm工具箱_命令行,第1张

 

2.由于是matlab,那么就需要将解压后文件夹里面的windows文件移动到matlab里面去,一般系统安装的matlab里面有toolbox文件。

3.在matlab中设置路径

mllib 工具Utilities有什么 libsvm工具箱,mllib 工具Utilities有什么 libsvm工具箱_编译器_02,第2张

 

4.以上步骤就安装的差不多的,接下来要看电脑有没有编译器。查看编译器的方法:

  在matlab里面输入mex -setup/mex -setup -v(查找版本出现这个则有编译器

mllib 工具Utilities有什么 libsvm工具箱,mllib 工具Utilities有什么 libsvm工具箱_编译器_03,第3张

(1若是能找到c++编译器,可直接尝试在命令行窗口输入make,执行make.m程序进行编译,完成后出现4个后缀为.mexw64文件)

      (2若没能找到C++编译器,编译失败或者一系列不明error,请参考下第二部分:MinGW64配置 ,按其步骤进行)

make进行编译【注意:如果有z黄色警告模式,说明编译器和matlab的版本不适合,需要重新选择编译器的版本,或者下更高版本的matlab(但是我没管)

  

mllib 工具Utilities有什么 libsvm工具箱,mllib 工具Utilities有什么 libsvm工具箱_编译器_04,第4张

 

5.测试

按照网上最常见的测试方法,来进行测试。

将Libsvm文件下的测试数据集heart_scale复制到Libsvm\matlab下,后续的操作将在该文件夹下进行,同时将MATLAB工作路径转至该文件下(在MATLAB中也可完成文件的复制粘贴工作)。

命令行窗口输入:

注意:

1.测试svmtrain的输入第一个是标签,第二个数样本,跟matlab自带的svmtrain是相反的。

2.”svmtrain“调用svmtrain.exe,heart_scale存放训练样本的文件,train.model保存最后训练出来的模型。

[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);

如果输出为:

#iter:为迭代次数 
nu:   为nu-SVC, one-class SVM, and nu-SVR三种类型SVM指定的核函数的参数,默认为0.5
obj:  为SVM文件转换为二次规划求解得到的最小值
rho:  为判决函数的偏置项b 
nSV:为标准支持向量个数
nBSV: 边界上支持向量的个数
Total nSV :支持向量的总的个数

 

  

mllib 工具Utilities有什么 libsvm工具箱,mllib 工具Utilities有什么 libsvm工具箱_命令行_05,第5张

即为导入libsvm工具箱成功。

二、MinGW-w64 C/C++编译器下载和安装

 MinGW-w64 C/C++编译器下载和安装_<SLF>的博客_mingw64

 

 

 

 

 

 

ps.过了一周后,可以查到已安装8.1的编译器但是matlab找不到编译器了,又重新下载低版本的还是找不到

mllib 工具Utilities有什么 libsvm工具箱,mllib 工具Utilities有什么 libsvm工具箱_编译器_06,第6张

解决方法:下载64位的TDM-GCC

如何在Matlab2018a中配置MinGW-w64 C/C++ 编译器_成都好吃的求推荐的博客

 

mllib 工具Utilities有什么 libsvm工具箱,mllib 工具Utilities有什么 libsvm工具箱_测试数据_07,第7张

输入make,仍然是:

警告: 您使用的是不受支持的 MinGW 编译器版本。

 

 

 

很久很久以后....警告没有了……莫名奇妙的可以用了

 2022.6.8 matlab2018突然崩了,换了matlab2019b,没有警告。

 

 (21条消息) 错误使用 mex 未找到支持的编译器。您可以安装免费提供的 MinGW-w64 C/C++ 编译器;请参阅安装 MinGW-w64 编译器 (2)_liuyanfang003的博客




https://www.xamrdz.com/lan/5a91961215.html

相关文章: