How to create indices for the k-fold cross-validation?

18 vues (au cours des 30 derniers jours)
Susan le 8 Juin 2021
Commenté : Susan le 10 Juin 2021
Hi All,
I'd like to create indices for the k-fold cross-validation using
indices = crossvalind('Kfold',Labels,k);
The "Labels" is a 1-by-1000 cell array which contains 1000 cells, as follows
Labels(1: 10) = 1×10 cell array
Columns 1 through 9
{1×1 cell} {1×1 cell} {1×1 cell} {1×1 cell} {1×1 cell} {1×1 cell} {1×1 cell} {1×1 cell} {1×1 cell}
Column 10
{1×1 cell}
Labels{1}= 1×1 cell array
I got this error
Undefined function 'crossvalind' for input arguments of type 'cell'.
So, I took the following steps to solve the issue
Label_1 = cellfun(@(x) str2double(x), Labels, 'UniformOutput',false);
Label_double = [Label_1{:}]
indices = crossvalind('Kfold',Label_double,10);
And now I am dealing with the following error
Undefined function 'crossvalind' for input arguments of type 'char'.
I'm not sure why I get this error. any idea? Thanks!
  3 commentaires
Susan le 9 Juin 2021
Modifié(e) : Susan le 9 Juin 2021
@Megumi Fukuda Sure thing! The label is attached.Thank you so much in advance for your help.

Connectez-vous pour commenter.

Réponse acceptée

Megumi Fukuda
Megumi Fukuda le 10 Juin 2021
indices = crossvalind('Kfold',Labels,k);
I am sure this does not work, as the cells in the variable Label are nested and cannot be used for crossvalind without converting the variables.
I have tested this code with MATLAB 2021a and this code looks fine. Would you like to try your code again?
% clear the workspace
load('Label.mat'); % the mat file you uploaded
Label_1 = cellfun(@(x) str2double(x), Giant_bpm, 'UniformOutput',false);
Label_double = [Label_1{:}];
indices = crossvalind('Kfold',Label_double,10);
(... and here is another implementation I came up with. This returns the label as char type)
Giant_bpm_updated = cellfun(@cell2mat, Giant_bpm(:), 'UniformOutput', false);
indices = crossvalind('Kfold',Giant_bpm_updated,10);
Hope this helps!
  1 commentaire
Susan le 10 Juin 2021
Thanks for your response.
Interesting! when I run my code I get the same error as before but your code works fine.

Connectez-vous pour commenter.

Plus de réponses (0)


En savoir plus sur Image Data Workflows dans Help Center et File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by