日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 人工智能 > 循环神经网络 >内容正文

循环神经网络

libsvm工具箱会和matlab,MATLAB实现多分类和libsvm工具箱的安装使用详解

發布時間:2023/12/19 循环神经网络 30 豆豆
生活随笔 收集整理的這篇文章主要介紹了 libsvm工具箱会和matlab,MATLAB实现多分类和libsvm工具箱的安装使用详解 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

首先告訴大家MATLAB現在可以實現多類分類的問題!但是需要借助工具箱!

下面介紹的是臺灣林智仁教授的libsvm工具箱在MATLAB中的安裝和使用:

安裝環境:Win7、Microsoft Visual Studio 2010

MATLAB版本:R2010b

libsvm版本:libsvm-3.17.zip?? 下載地址:http://www.csie.ntu.edu.tw/~cjlin/libsvm/

編譯器版本:Microsoft Visual C++ 2010

安裝過程:

1、可以去http://www.csie.ntu.edu.tw/~cjlin/libsvm/這個網站去下載最新的SVM軟件,找到Download LIBSVM,點擊zip file下載,這里有我們常用的matlab語言平臺。解壓縮打開其中的matlab文件夾下的README文件,可以看到在matlab下該怎么編譯它。解壓后可以放在任意目錄下,但是最好放在MATLAB工具箱中,比如 C:\Program Files\MATLAB\R2011b\toolbox\libsvm-3.17。其中C:\Program Files\MATLAB\R2011b\要替換成你的MATLAB安裝的位置目錄,toolbox文件夾中存放的就是各種工具箱!題外話~

2、打開 matlab,找到Current Folder,點擊旁邊的...彈出對話框,切換進入到C:\Program Files\MATLAB\R2011a\toolbox\libsvm-3.12\matlab目錄下,在命令窗口中鍵入以下命令:

>> mex -setup

%命令窗口顯示

Please choose your compiler for building MEX-files:

Would you like mex to locate installed compilers [y]/n??n??? %這次是選擇編譯器,輸入n,選擇自定義的編譯器

%出現以下選項(因電腦而異)

Select a compiler:

[1] Intel C++ 11.1 (with Microsoft Visual C++ 2008 SP1 linker)

[2] Intel Visual Fortran 11.1 (with Microsoft Visual C++ 2008 SP1 linker)

[3] Intel Visual Fortran 11.1 (with Microsoft Visual C++ 2008 Shell linker)

[4] Lcc-win32 C 2.4.1

[5] Microsoft Visual C++ 6.0

[6] Microsoft Visual C++ 2005 SP1

[7] Microsoft Visual C++ 2008 SP1

[8] Microsoft Visual C++ 2010

[9] Microsoft Visual C++ 2010 Express

[10] Open WATCOM C++

[0] None

Compiler:?8???? %可以用其他的,出現以下提示語句

Your machine has a Microsoft Visual C++ 2010 compiler located at

C:\Program Files\Microsoft Visual Studio 10.0. Do you want to use this compiler [y]/n? y

%編譯器默認路徑,確認正確輸入y,更改路徑,輸入n

%輸入y出現再次確認

Please verify your choices:

Compiler: Microsoft Visual C++ 2010

Location: C:\Program Files\Microsoft Visual Studio 10.0

Are these correct [y]/n? y

Trying to update options file: C:\Documents and Settings\zhangduokun\Application Data\MathWorks\MATLAB\R2011a\mexopts.bat

From template: C:\PROGRA~1\MATLAB\R2011a\bin\win32\mexopts\msvc100opts.bat

Done . . .

%編譯器配置完成

3、對C++文件進行編譯

%輸入命令

>> make?? %可能不成功,通常是路徑問題,不成功的話參考這個鏈接:http://www.ilovematlab.cn/forum.php?ext=CB&mod=viewthread&pre_pos=7&pre_thread_id=170608&reltid=233513&tid=217493

>>

%編譯完成

%如果make命令成功執行,那么你已經成功安裝上libsvm了!

系統就會生成svmtrain.mexw32,svmpredict.mexw32,libsvmread.mexw32和libsvmwrite.mexw32等文件(對于 Matlab 7.1以下的版本,生成的對應文件為svmtrain.dll,svmpredict.dll和 read_sparse.dll,沒做測試),然后可以在matlab的菜單 File->Set Path->add with subfolders(可直接用Add Folder)里,把 C:\Program Files\MATLAB\R2011a\toolbox\libsvm-3.17\matlab目錄添加進去,這樣以后在任何目錄下都可以調用 libsvm的函數了。

4、運行一下(應該會報錯,請看注意那里)

為了檢驗libsvm和matlab之間的接口是否已經配置完成,可以在matlab下執行以下命令:

>> load heart_scale

%完成該步驟后發現Workspace中出現了heart_scale_inst和 heart_scale_label,說明正確。

>> model = svmtrain(heart_scale_label, heart_scale_inst, '-c 1 -g 0.07');

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

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

%done

如果運行正常并生成了model這個結構體(其中保存了所有的支持向量及其系數),那么說明libsvm和matlab之間的接口已經完全配置成功。

注意:坑爹啊!

如果你的matlab報錯提示沒有 heart_scale.mat(因為官方現在不提供了(老版本提供的),給的都是VC++下的格式,所以load 會報錯:heart_scale must be same as previous lines)

所以必須使用給的一個函數,轉化數據此函數為libsvmread()

使用如下: [label_vector, instance_matrix] = libsvmread('filename');

此處為了跟官方統一名稱可以[heart_scale_label,heart_scale_inst] = libsvmread('heart_scale');

由于heart_scale在libsvm-3.11目錄下,不是在matlab下,所以直接用libsvmread命令會報錯,要買改變當前路徑,或者使用[heart_scale_label,heart_scale_inst] = libsvmread('../heart_scale');????? %../代表返回上層路徑。

libsvm的使用方法:很簡單就用下面的兩條語句!

>> model = svmtrain(heart_scale_label, heart_scale_inst, '-c 1 -g 0.07');

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

其中:

svmtrain()函數用來訓練svm分類器,svmpredict()函數用來預測分類結果。

model用來保存分類器的信息!

svmtrain()函數的第一個參數是訓練樣本的類別矩陣(分類結果),第二個參數是訓練樣本的特征矩陣(屬性),第三個參數是可選的,它有很多個參數,各有各的用途,具體可參考下面的鏈接。

svmpredict()函數的第一個參數是測試樣本的類別矩陣(真實結果,也可以自己先隨便假設一個結果,沒關系的),第二個參數是測試樣本的特征矩陣(屬性),第三個參數是分類器的模型,即model。

預測結果保存在predict_label中!分類正確率保存在accuracy中!精度信息保存在dec_values中!

請注意:heart_scale_label矩陣的維數和heart_scale_inst矩陣的維數必須一樣,否則可能會報錯。

如果你安裝和使用過程中還有問題,請參考下面的鏈接,相信能找到你需要的東西!

http://zhan.renren.com/nvzuiqiang?gid=3602888498034633874&checked=true

http://www.ilovematlab.cn/forum.php?ext=CB&mod=viewthread&pre_pos=7&pre_thread_id=170608&reltid=233513&tid=217493

http://blog.sina.com.cn/s/blog_4cf8aad30100nr2k.html

http://www.ilovematlab.cn/forum.php?mod=viewthread&tid=61234

http://blog.sina.com.cn/s/blog_4fe347e60101h5uz.html

http://www.ilovecode.cn/index.php/news/show/id/128

http://blog.sina.com.cn/s/blog_64b046c701018dya.html

總結

以上是生活随笔為你收集整理的libsvm工具箱会和matlab,MATLAB实现多分类和libsvm工具箱的安装使用详解的全部內容,希望文章能夠幫你解決所遇到的問題。

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