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

12 ビュー (過去 30 日間)
James Alix
James Alix 2023 年 3 月 20 日
コメント済み: the cyclist 2023 年 3 月 21 日
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