天天看點

MATLAB R2014a 裝 libsvm-3.17

1.下載下傳libsvm

http://www.csie.ntu.edu.tw/~cjlin/libsvm/

在libsvm的網站上下載下傳 libsvm-3.12.zip檔案,解壓後放在任意目錄下,最好放在MATLAB工具箱中,比如 D:\program files (x86)\MATLAB\R2014a\toolbox\libsvm-3.22下。

2.打開matlab,添加libsvm的目錄,如下圖所示

MATLAB R2014a 裝 libsvm-3.17

3.MATLAB編譯器下,指令視窗輸入 mex -setup  ,前提本機裝有visual studio編譯器

MATLAB R2014a 裝 libsvm-3.17

4.編譯生成檔案

指令視窗輸入:make。輸入make,會有提示 找不到  svmtrain.exp  svmpredict.exp,沒關系。隻要在libsvm/matlab目錄下生成了 這4個檔案libsvmread.mexw32,libsvmwrite.mexw32,svmtrain.mexw32,svmpredict.mexw32 就行了,把這4個檔案複制到..MATLAB\R2014a\toolbox\libsvm-3.22\windows 下替換原來的檔案

MATLAB R2014a 裝 libsvm-3.17

5.測試

5.1

>> load heart_scale;

錯誤,去下載下傳heart_scale.mat檔案放在libsvm-3.22檔案下

改為load('heart_scale.mat')

5.2

>> model = svmtrain(heart_scale_label, heart_scale_inst);

輸出*

optimization finished, #iter = 162

nu = 0.431029

obj = -100.877288, rho = 0.424462

nSV = 132, nBSV = 107

Total nSV = 132

5.3

>> [predict_label,accuracy] = svmpredict(heart_scale_label,heart_scale_inst,model);

錯誤彈出

Usage: [predicted_label, accuracy, decision_values/prob_estimates] = svmpredict(testing_label_vector, testing_instance_matrix, model, 'libsvm_options')

       [predicted_label] = svmpredict(testing_label_vector, testing_instance_matrix, model, 'libsvm_options')

Parameters:

  model: SVM model structure from svmtrain.

  libsvm_options:

    -b probability_estimates: whether to predict probability estimates, 0 or 1 (default 0); one-class SVM not supported yet

    -q : quiet mode (no outputs)

Returns:

  predicted_label: SVM prediction output vector.

  accuracy: a vector with accuracy, mean squared error, squared correlation coefficient.

  prob_estimates: If selected, probability estimate vector.

格式錯誤

改為

>> [predict_label, accuracy,decision_values ] = svmpredict(heart_scale_label, heart_scale_inst, model,'-b 0');

輸出

Accuracy = 86.6667% (234/270) (classification)

表示測試成功,安裝成功

繼續閱讀