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

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 人工智能 > 循环神经网络 >内容正文

循环神经网络

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

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

首先告訴大家MATLAB現(xiàn)在可以實(shí)現(xiàn)多類分類的問(wèn)題!但是需要借助工具箱!

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

安裝環(huán)境:Win7、Microsoft Visual Studio 2010

MATLAB版本:R2010b

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

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

安裝過(guò)程:

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

2、打開(kāi) matlab,找到Current Folder,點(diǎn)擊旁邊的...彈出對(duì)話框,切換進(jìn)入到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,選擇自定義的編譯器

%出現(xiàn)以下選項(xiàng)(因電腦而異)

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???? %可以用其他的,出現(xiàn)以下提示語(yǔ)句

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

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

%輸入y出現(xiàn)再次確認(rèn)

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、對(duì)C++文件進(jìn)行編譯

%輸入命令

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

>>

%編譯完成

%如果make命令成功執(zhí)行,那么你已經(jīng)成功安裝上libsvm了!

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

4、運(yùn)行一下(應(yīng)該會(huì)報(bào)錯(cuò),請(qǐng)看注意那里)

為了檢驗(yàn)libsvm和matlab之間的接口是否已經(jīng)配置完成,可以在matlab下執(zhí)行以下命令:

>> load heart_scale

%完成該步驟后發(fā)現(xiàn)Workspace中出現(xiàn)了heart_scale_inst和 heart_scale_label,說(shuō)明正確。

>> 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

如果運(yùn)行正常并生成了model這個(gè)結(jié)構(gòu)體(其中保存了所有的支持向量及其系數(shù)),那么說(shuō)明libsvm和matlab之間的接口已經(jīng)完全配置成功。

注意:坑爹啊!

如果你的matlab報(bào)錯(cuò)提示沒(méi)有 heart_scale.mat(因?yàn)楣俜浆F(xiàn)在不提供了(老版本提供的),給的都是VC++下的格式,所以load 會(huì)報(bào)錯(cuò):heart_scale must be same as previous lines)

所以必須使用給的一個(gè)函數(shù),轉(zhuǎn)化數(shù)據(jù)此函數(shù)為libsvmread()

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

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

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

libsvm的使用方法:很簡(jiǎn)單就用下面的兩條語(yǔ)句!

>> 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()函數(shù)用來(lái)訓(xùn)練svm分類器,svmpredict()函數(shù)用來(lái)預(yù)測(cè)分類結(jié)果。

model用來(lái)保存分類器的信息!

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

svmpredict()函數(shù)的第一個(gè)參數(shù)是測(cè)試樣本的類別矩陣(真實(shí)結(jié)果,也可以自己先隨便假設(shè)一個(gè)結(jié)果,沒(méi)關(guān)系的),第二個(gè)參數(shù)是測(cè)試樣本的特征矩陣(屬性),第三個(gè)參數(shù)是分類器的模型,即model。

預(yù)測(cè)結(jié)果保存在predict_label中!分類正確率保存在accuracy中!精度信息保存在dec_values中!

請(qǐng)注意:heart_scale_label矩陣的維數(shù)和heart_scale_inst矩陣的維數(shù)必須一樣,否則可能會(huì)報(bào)錯(cuò)。

如果你安裝和使用過(guò)程中還有問(wèn)題,請(qǐng)參考下面的鏈接,相信能找到你需要的東西!

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

總結(jié)

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

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。