日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 >

LibSVM 在matlab中的使用

發布時間:2025/3/21 37 豆豆
生活随笔 收集整理的這篇文章主要介紹了 LibSVM 在matlab中的使用 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

搞了一天,看了很多資料,終于搞好了matlab中調用大牛寫好的svm庫,將結果告訴大家避免以后走彎路。

1. 參考網站:

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

視頻:http://v.youku.com/v_showMini/id_XMjc2NTY3MzYw_ft_131.html?(有小問題,等下會提到)

詳解:http://www.matlabsky.com/thread-11925-1-1.html


2. 操作流程:

請注意:詳細操作流程請參考上面的“詳解”網站,這里只說大框架和詳解里沒有提到的問題。

A.設置path

File->set path ->add with subfolders->加入libsvm-3.11文件夾的路徑

B. 在matlab中編譯

目的:將libsvm-3.11\matlab 中?libsvmwrite.c 等 C++文件編譯成 libsvmread.mexw32 等matlab文件,這樣就可以在command window中被直接調用了。

注意:在最外面的Readme中有提到已經有編譯好的文件,比如在libsvm-3.11\windows中也會看到libsvmread.mexw32,但這里不要被誤導!還是需要你自己再編譯一遍的!(還有如果matlab版本太低,如matlab 7.0是不能用VS作為編譯器的,只能用VC++ 6.0,這是我勸你給matlab升級吧!別裝vc了~我就是這樣,升級到Matlab 2011b就可以用VS2008做編譯器了

C.加載數據集

就是這里搞了我一下午!

加載數據集

[cpp]?view plaincopy
  • load?heart_scale??
  • 有兩個數據集,一個是C++的, 一個是matlab的。libsvm庫中下載的是C++數據,

    所以matlab加載我們下載的heart_scale是會報錯的:<這就是視頻中遺漏的小問題>

    [cpp]?view plaincopy
  • ????Error?using?==>?load??
  • Number?of?columns?on?line?3?of?ASCII?file?D:\ZJU?projects\machine?learning\libsvm-3.11\heart_scale?must?be?the?same?as?previous?lines.??
  • 這時怎么辦?

    法1、下載matlab數據集(http://download.csdn.net/detail/abcjennifer/4215779)

    法2、用libsvmread而非load,就是這里

    [cpp]?view plaincopy
  • libsvmread('heart_scale');??

  • 這樣就可以加載數據集了,完成該步驟后發現Workspace中出現了heart_scale_inst 和 heart_scale_label,說明正確。

    ok,下一步我們來測試svm的訓練和predict

    D.train & predict

    [cpp]?view plaincopy
  • model?=?svmtrain(heart_scale_label,heart_scale_inst);??
  • [predict_label,accuracy]?=?svmpredict(heart_scale_label,heart_scale_inst,model);??
  • 可以看到結果:

    [cpp]?view plaincopy
  • Accuracy?=?86.6667%?(234/270)?(classification)??


  • =========================MAC 版如何在matlab中使用libsvm=========================

    下面說下mac怎么用libsvm,這里的問題是mex -setup的問題,需要安裝一個補丁。

    1. mac中安裝xcode

    2. xcode的preference中裝command line tools

    3. 下載最新補丁http://www.mathworks.cn/support/solutions/en/data/1-FR6LXJ/

    4. 在matlab命令行輸入>>cd(matlabroot)

    5.?在matlab命令行輸入這個打補丁

    >>!unzip -o ~/Downloads/optsPatch_MACOSX8.patch

    6. 可以運行mex -setup了,選擇將原來的gcc覆蓋掉

    7. 到libsvm/matlab進行make

    就搞定啦!



    具體參考:http://bbs.weiphone.com/read-htm-tid-5787323.html



    就OK了。祝大家成功快速實現!


    from: http://blog.csdn.net/abcjennifer/article/details/7370177

    總結

    以上是生活随笔為你收集整理的LibSVM 在matlab中的使用的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。