Does cvpartition work with structs?

3 Ansichten (letzte 30 Tage)
Brandon Carrier
Brandon Carrier am 18 Nov. 2021
Kommentiert: Walter Roberson am 18 Nov. 2021
I am trying to work with a dataset provided to me that is a struct. I want to use cvpartition() as to maintain the ratio of classes in the resulting train and test sets, otherwise I would use randperm(). Here is the code I am trying to run:
% Struct is Messages
% "label" is the field containing the classes I want to sort by
c = cvpartition(Messages.label,'Holdout',1/3);
testIndices=test(c);
trainIndices=training(c);
trainData=data(trainIndices,:);
testData=data(testIndices,:);
The following is the error I receive upon running:
Error using internal.stats.cvpartitionInMemoryImpl (line 71)
CVPARTITION can have at most two optional arguments
Error in cvpartition (line 175)
cv.Impl = internal.stats.cvpartitionInMemoryImpl(varargin{:});
Error in scratch_script (line 8)
c = cvpartition(Messages.label,'Holdout',1/3);
Any guidance here would be appreciated. Thanks in advance!

Akzeptierte Antwort

Walter Roberson
Walter Roberson am 18 Nov. 2021
c = cvpartition({Messages.label}, 'Holdout', 1/3);
  2 Kommentare
Brandon Carrier
Brandon Carrier am 18 Nov. 2021
Thank you for the quick response! I tried implementing which got me past that error, but threw another. I'd appreciate any other guidance you may have.
Error using statslib.internal.grp2idx (line 99)
Grouping variable must be a categorical, numeric, logical, datetime or duration vector, character array, string array, or cell vector of character vectors.
Error in grp2idx (line 28)
[varargout{1:nargout}] = statslib.internal.grp2idx(s);
Error in internal.stats.cvpartitionInMemoryImpl (line 136)
cv.Group = grp2idx(N);
Error in cvpartition (line 175)
cv.Impl = internal.stats.cvpartitionInMemoryImpl(varargin{:});
Error in scratch_script (line 9)
c = cvpartition({Messages.label}, 'Holdout', 1/3 );
For reference, the contents of the field is just 1's and 0's.
Walter Roberson
Walter Roberson am 18 Nov. 2021
c = cvpartition([Messages.label], 'Holdout', 1/3);

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (0)

Produkte


Version

R2021a

Community Treasure Hunt

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

Start Hunting!

Translated by