Ma mise en œuvre de la validation croisée habituelle K fois est à peu près comme:Comment effectuer une validation croisée stratifiée 10 fois pour la classification dans MATLAB?
K = 10;
CrossValIndices = crossvalind('Kfold', size(B,2), K);
for i = 1: K
display(['Cross validation, folds ' num2str(i)])
IndicesI = CrossValIndices==i;
TempInd = CrossValIndices;
TempInd(IndicesI) = [];
xTraining = B(:, CrossValIndices~=i);
tTrain = T_new1(:, CrossValIndices~=i);
xTest = B(:, CrossValIndices ==i);
tTest = T_new1(:, CrossValIndices ==i);
end
Mais pour faire en sorte que la formation, les tests et la validation de jeu de données ont des proportions similaires de classes (par exemple, 20 classes) .Je souhaite utiliser l'échantillonnage stratifié technique.Le but de base est d'éviter le problème de déséquilibre de classe. Je sais à propos de la technique SMOTE mais je veux appliquer celui-ci.
proportion de classe .My est comme cette valeur Nombre Pourcentage classe 1: 3745 (65,11%) classe 2: 728 (14,90%) classe 3: 943 (20,00%) –