Parfor loop problem with SVM classification
Show older comments
Hi. I have a problem for paralleling a SVM Classification. In my code I repeat 3 times a 5-fold cross validation of SVM and average the accuracy of it. I want to paralell the main loop of 3 times repeat of cross validation but when I use parfor in this loop the program doesn't use all performance of 2 Cores of my CPU and only use 60% of the performance!.
Thank you so much
Code :
parfor L=1:NumOFLoops;
indices = crossvalind('Kfold',QQ,NumOfKfold);
cp = classperf(QQ);
for m=1:NumOfKfold;
test = (indices == m); Train = ~test;
testI=zeros(numel(test>0),1);
TrainInputs=INPUT(Train,:);
TrainTargets=QQ(Train,:);
TestInputs=INPUT(test,:);
%%SVM Structure
svmstruct=svmtrain(TrainInputs,TrainTargets,...
'boxconstraint',Penalty,...
'kernel_function','rbf','method','QP',...
'rbf_sigma',Sigma)
TestOutputs=svmclassify(svmstruct,TestInputs,'showplot',false);
classperf(cp,TestOutputs,test);
end
Error(:,L)=cp.ErrorRate;
end
Results.ErrorRate=(sum(Error))/NumOFLoops;
Accepted Answer
More Answers (1)
Categories
Find more on Statistics and Machine Learning Toolbox in Help Center and File Exchange
Products
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!