How does the classification learner app implement k-fold cross validation?

11 次查看(过去 30 天)
Hi
Does anyone know how the k-fold cross validation is implemented in the classification learner app? Specifically, does it automatically stratify the folds?
Thanks
James

采纳的回答

the cyclist
the cyclist 2023-3-21
I am most definitely not an expert in this app, but I built a simple model using the default settings, and then exported the function. It has this line
% Perform cross-validation
partitionedModel = crossval(trainedClassifier.ClassificationTree, 'KFold', 5);
which suggests to me that it does not stratify by default. (The crossval function accepts a 'Stratify' Name-Value pair, which is not present here.)
I could not see a way to specify this in the app itself, but maybe there is. You could contact support to find out, if you don't get an answer here.
  2 个评论
James Alix
James Alix 2023-3-21
Ok, thats a good idea.
Searching around today I found this:
By default, crossval ensures that the class proportions in each fold remain approximately the same as the class proportions in the response variable ... on this cvpartion page (https://uk.mathworks.com/help/stats/cvpartition.html#d124e288211) but I'll email support and see if I can confirm.
Thanks
James
the cyclist
the cyclist 2023-3-21
Ah, I see that whether crossval stratifies by default or not is dependent on the nature of the first argument (just a number, or the group).

请先登录,再进行评论。

更多回答(0 个)

产品


版本

R2021b

Community Treasure Hunt

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

Start Hunting!

Translated by