Parfor loop problem with SVM classification
Afficher commentaires plus anciens
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;
Réponse acceptée
Plus de réponses (1)
Catégories
En savoir plus sur Statistics and Machine Learning Toolbox dans Centre d'aide et File Exchange
Produits
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!