【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的參數說明)。

 

2.由於是matlab,那么就需要將解壓后文件夾里面的windows文件移動到matlab里面去,一般系統安裝的matlab里面有toolbox文件。

3.在matlab中設置路徑

 

4.以上步驟就安裝的差不多的,接下來要看電腦有沒有編譯器。查看編譯器的方法:

  在matlab里面輸入mex -setup/mex -setup -v(查找版本出現這個則有編譯器

      (1若是能找到c++編譯器,可直接嘗試在命令行窗口輸入make,執行make.m程序進行編譯,完成后出現4個后綴為.mexw64文件)

      (2若沒能找到C++編譯器,編譯失敗或者一系列不明error,請參考下第二部分:MinGW64配置 ,按其步驟進行)

  在命令行窗口中輸入make進行編譯【注意:如果有z黃色警告模式,說明編譯器和matlab的版本不適合,需要重新選擇編譯器的版本,或者下更高版本的matlab(但是我沒管)

  

 

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 :支持向量的總的個數

 

  

即為導入libsvm工具箱成功。

 

二、MinGW-w64 C/C++編譯器下載和安裝

 MinGW-w64 C/C++編譯器下載和安裝_<SLF>的博客-CSDN博客_mingw64

 

 

 

 

 

 

ps.過了一周后,可以查到已安裝8.1的編譯器但是matlab找不到編譯器了,又重新下載低版本的還是找不到

解決方法:下載64位的TDM-GCC

如何在Matlab2018a中配置MinGW-w64 C/C++ 編譯器_成都好吃的求推薦的博客-CSDN博客

 

輸入make,仍然是:

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

 

 

 

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

 2022.6.8 matlab2018突然崩了,換了matlab2019b,沒有警告。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM