Saving the output from a for loop

5 vues (au cours des 30 derniers jours)
Elizabeth Vieira
Elizabeth Vieira le 21 Jan 2016
Commenté : Star Strider le 22 Jan 2016
I am using the following script in MatlabR2015a:
CVO = cvpartition(y2,'k',10);
C=zeros(96,1)
for i = 1:CVO.NumTestSets
trIdx = CVO.training(i);
teIdx = CVO.test(i);
mdl = fitcnb(x1(trIdx, :),y2(trIdx, :),'Distribution', 'kernel')
[label, Posterior] = predict(mdl,x1(teIdx, :))
C(teIdx)=Posterior (:,2);
end
[X,Y,T,AUC] = perfcurve(y2,C,'true','NBoot', 1000); % Curva ROC para os dados de teste do crossval
c1=round(C);
CMat=confusionmat(y1,c1);
How can I save in my workspace the model from each iteration?
Many Thanks,
Elizabeth Vieira

Réponse acceptée

Star Strider
Star Strider le 21 Jan 2016
You can save it as a cell array (note the curly brackets ‘{}’):
mdl{i} = fitcnb(x1(trIdx, :),y2(trIdx, :),'Distribution', 'kernel');
If you want to save the ‘mdl’ cell array after the loop, use the save function to save it to a .mat file. See the documentation for save for details.
  3 commentaires
Elizabeth Vieira
Elizabeth Vieira le 22 Jan 2016
Many thanks!
Star Strider
Star Strider le 22 Jan 2016
My pleasure!

Connectez-vous pour commenter.

Plus de réponses (0)

Tags

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by