簡體   English   中英

在Matlab中將特征向量.mat文件用於LIBSVM

[英]Using feature vector .mat file for LIBSVM in matlab

我是matlab和LIBSVM的新手。 我為每個點計算了特征向量,並在單個向量.mat r,g,b值,並將其存儲在.mat文件中。 目前,我大約有420分和4個班級,即紅色/綠色/藍色/其他。 現在,我想傳遞此.mat文件來訓練libsvm,並根據該文件對新到達的測試點進行分類,無論它是紅色,藍色還是綠色或其他。 不用說,它是一個多類分類,我什至都不知道該如何處理? svmtrain(TrainingSet,Groups,'kernel_function','rbf'); 其中TrainingSet是我的420*4特征向量集,而Groups是類名。 在此先感謝您的幫助。

您可以嘗試使用libsvm的“一對多”方法。

model = cell(4,1);
for k=1:4
    model{k} = svmtrain(double(TrainingSet==k), Groups, '-c 1 -g 0.2 -b 1');
end

然后在測試過程中,只需計算不同標簽的概率即可:

pr = zeros(numTest,4);
for k=1:4
    [~,~,p] = svmpredict(double(testLabel==k), TestSet, model{k}, '-b 1');
    pr(:,k) = p(:,model{k}.Label==1);    %# probability of class==k
end

您的標簽預測將是最有可能的預測:

[~,predctedLabel] = max(pr,[],2);

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM