I can not use libsvm!!!
조회 수: 75 (최근 30일)
이전 댓글 표시
Hi,
can anybody help me in using libsvm?
but it can not be recognized by my matlab, I got the following error:
??? Undefined function or method 'libsvmtrain' for input arguments of type 'double'.
Error in ==> svmtrts at 139 D.net.svm=libsvmtrain(otY,stX,'-t 0');
Error in ==> main at 148 [D,Dtest]=svmtrts(trndataSVM,tstdataSVM,'libsvm');
can anybody help me.
Regards, Atieh
댓글 수: 0
채택된 답변
Friedrich
2011년 6월 3일
I think your are talking about:
The function libsvmtrain does not exist in that package. The training function is called svmtrain.
댓글 수: 0
추가 답변 (1개)
Jonas Reber
2011년 6월 3일
I used libsvm myself in matlab.
- download it from ( http://www.csie.ntu.edu.tw/~cjlin/libsvm/#download)
- add the svmtrain, svmpredict, libsvmwrite & libscmread .mex Files to your matlab path (probably you just put them in the working folder...)
then let me provide you my sample code - note: I use precompiled kernel data.
Here, I would like to find the optimal parameter c for my SVM.
clear all; close all;
%%load datasets
[lvtest, test] = libsvmread('test.krnl');
[lvtrain, train] = libsvmread('train.krnl');
[lvvalid, valid] = libsvmread('valid.krnl');
%%optimize parameter c on validation set
n = -17:17;
accuracy = nan(size(n));
for i=1:numel(n); % n = {-17,...,17}
c=2^n(i);
% create model
model = svmtrain(lvtrain, train,['-q -t 4 -c ' num2str(c)]);
% option: -t 4 -> precomputed kernel
[lbl, acc, dec] = svmpredict(lvvalid, valid, model);
accuracy(i) = acc(1);
end
% output the accuracy vs the chosen parameter c
plot(accuracy);
xlabel('c'), ylabel('Accuracy'); title('Accuracy vs. c');
%%test optimal c on the test set
[~, i] = max(accuracy); % find the best value
c = 2^n(i); % this is the optimal c
% create model
model = svmtrain(lvtrain, train,['-q -t 4 -c ' num2str(c)]);
% test on the testset
[lbl, acc, dec] = svmpredict(lvtest, test, model, []);
% show accuracy
disp(['Accuracy with optimized c (' ...
num2str(c) ') on Testset: ' num2str(acc(1)) '%']);
hope this helps...?
댓글 수: 2
judy frost
2013년 9월 23일
Can you please explain the example further by showing how to find optimal cost and gamma values from validation data that are used for k-fold cross validation. Furthermore is it possible to plot the graph of classified data at the end of validation,training and test stages. I will appreciate any further explanation regarding the topic. Thank you.
참고 항목
카테고리
Help Center 및 File Exchange에서 Statistics and Machine Learning Toolbox에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!