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

歡迎訪問 生活随笔!

生活随笔

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

循环神经网络

matlab中的libsvm怎么录入数据啊,LibSVM在MATLAB中使用时的几个问题

發(fā)布時間:2024/9/27 循环神经网络 39 豆豆
生活随笔 收集整理的這篇文章主要介紹了 matlab中的libsvm怎么录入数据啊,LibSVM在MATLAB中使用时的几个问题 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

在科研中需要用到支持向量機(Support Vector Machines, SVM)來進行分類,而目前比較成熟的用于實現(xiàn)SVM的軟件包則首推LibSVM。LibSVM目前的版本已經(jīng)能直接在MATLAB中使用了,雖然MATLAB已經(jīng)提供了諸如svmtrain等SVM相關的函數(shù),可是相比LibSVM的易用性以及其強大的功能還是要差了不少。不僅如此,目前有關LibSVM的資料在互聯(lián)網(wǎng)上也比較豐富,所以最終選擇LibSVM在MATLAB環(huán)境下實現(xiàn)SVM分類樣品會是一個很不錯的選擇。

LibSVM可以直接從其主頁上下載到,我們所需要用到的就是MATLAB版本,不過仍然需要對其進行一個編譯。這個過程十分簡單,不過需要你已經(jīng)安裝了MATLAB的較新的版本(比如2009以后的版本,因為較舊的MATLAB版本不能識別較新的VS,而只能使用VC++ 6.0),以及Microsoft Visual Studio。

1.編譯LibSVM的MATLAB版本

如果你的電腦上已經(jīng)安裝了如MATLAB的較新版本,以及Microsoft Visual Studio,那么你可以直接將下載的LibSVM解壓出來并拷貝到MATLAB的工作目錄下(這個過程不是必須,但會更為方便接下來的處理)。然后在MATLAB中將LibSVM目錄添加到MATLAB的識別路徑下(Add path),并將LibSVM下的MATLAB文件夾設置為MATLAB的當前工作目錄。

接著在MATLAB命令行窗口中輸入mex -setup,回車執(zhí)行命令選擇編譯器。需要注意的是mex跟-setup之間有個空格。不要選擇MATLAB的默認編譯器,而手動選擇Microsoft的VS編譯器(只需告訴MATLAB其安裝路徑即可)。

設置好編譯器,在MATLAB命令行窗口中輸入make,即可開始對LibSVM進行編譯了。如果沒有什么錯誤提示,最終編譯成功之后,在LibSVM文件夾下的MATLAB文件夾里將有四個以.mexw32結尾的編譯完成的可執(zhí)行文件。

2.加載數(shù)據(jù)集驗證程序

編譯完畢之后,我們可以加載數(shù)據(jù)集以驗證程序是否編譯成功。但是這里就出現(xiàn)了問題,如果使用以前的很多教程和文章中出現(xiàn)的諸如

load heart_scale

來載入heart_scale數(shù)據(jù)文件,將會出現(xiàn)如下所示的錯誤:

??? Error using ==> load

Number of columns on line 2 of ASCII file

…\MATLAB\libsvm\heart_scale

must be the same as previous lines.

有人說好像這是因為heart_scale數(shù)據(jù)集是一個C++類型的文件,所以使用MATLAB的load載入而不能成功。

所以,現(xiàn)在需要使用LibSVM提供的libsvmread函數(shù)來讀取數(shù)據(jù)文件,讀取格式如下:

[label_vector, instance_matrix] = libsvmread(‘heart_scale’);

問題是,這樣仍然不能成功,而提示如下的錯誤:

can’t open input file heart_scale

但是我們可以解決這個問題,通過這樣的方式:

1.將位于LibSVM文件夾下的heart_scale數(shù)據(jù)文件拷貝到當前工作目錄(MATLAB)中;

2.將LibSVM文件夾設置為當前工作目錄;

如此,再執(zhí)行l(wèi)ibsvmread命令,即可將數(shù)據(jù)文件讀取進來進行一些基本的處理了,使用

model = svmtrain(label_vector,instance_matrix);

訓練SVM模型;

使用

[predict_label, accuracy, decision_values]?= svmpredict(label_vector,instance_matrix,model);

得到模型的預測結果:

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

總結

以上是生活随笔為你收集整理的matlab中的libsvm怎么录入数据啊,LibSVM在MATLAB中使用时的几个问题的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

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