"splitEachLabel" built-in function does not really randomize the picture distribution?
이전 댓글 표시
When I use R2017b to do deep learning classification, the imageDatasotre object is divided into training and test set,whether or not to specify the number or proportion, 'splitEachLabel' optional parameters specified as 'randomized', the training set inside the picture is not randomly arranged, and why?
as the document said: https://cn.mathworks.com/help/nnet/examples/create-simple-deep-learning-network-for-classification.html
digitDatasetPath = fullfile(matlabroot,'toolbox','nnet','nndemos', ...
'nndatasets','DigitDataset');
digitData = imageDatastore(digitDatasetPath, ...
'IncludeSubfolders',true,'LabelSource','foldernames');
trainingNumFiles = 750;
rng(1) % For reproducibility
[trainDigitData,testDigitData] = splitEachLabel(digitData, ...
trainingNumFiles,'randomize');
When you open "trainDigitData.Files" and "trainDigitData.Labels" in a workspace, they do not disrupt the order?

채택된 답변
추가 답변 (1개)
xingxingcui
2018년 3월 1일
댓글 수: 2
debojit sharma
2023년 7월 8일
Since,it may be risky to do a standard random train/test split when having strong class imbalance.Because very small number of positive cases, we might end up with a train and test set that have very different class distributions. We may even end up with close to zero positive cases in our test set. So, is there anyfunction to do stratified sampling during train/test split that avoids disturbing class balance in our samples in MatLab @cui @Wentao Du . Like the following code in python:
from sklearn.model_selection import train_test_split
train, test = train_test_split(data, test_size = 0.3, stratify=data.buy)
xingxingcui
2023년 10월 24일
카테고리
도움말 센터 및 File Exchange에서 Big Data Processing에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!