인공지능 모델 학습을 위해 train/validation/test 데이터로 나눠준다.
- Train : 학습에 사용되는 훈련용 데이터
- validation : 모델의 일반화 능력을 높이기 위해 학습중 평가에 사용되는 검증 데이터
- Test : 학습이 끝난 후 모델의 성능을 평가하기 위한 테스트용 데이터
✔︎ splitfolders
'splitfolders' 는 데이터 셋을 분리하기 위한 파이썬 라이브러리이다.
# 설치 방법
!pip install split-folders
# 사용방법
- 비율을 이용해서 데이터셋을 나누는 방법
train : val : test = 7 : 1 : 2
import splitfolders
splitfolders.ratio('데이터 폴더 경로', output='output 폴더 경로', seed=33, ratio=(0.7,0.1,0.2))
❌ 주의사항
데이터가 있는 폴더에 class 폴더가 있어야 한다.
만약 class가 존재하지 않으면 그냥 하나의 폴더를 만들어 넣어서 사용하면 된다.
- 숫자를 지정해 나누는 방법
splitfolders.fixed('데이터 폴더', output='output path', seed=33, fixed=(100, 100), oversample=False, group_prefix=None)
fixed에 train과 test를 나누는 숫자를 넣어주면 된다. 여기서는 각각 100개씩 나누었다.
oversample의 기본은 False이다. True로 설정하면 데이터 중복을 허용해 데이터를 나누게 된다.
- annotation 파일과 함께 있는 경우 나누는 방법
splitfolders.ratio('데이터 폴더 경로', output='output 폴더 경로', seed=33, ratio=(0.7,0.1,0.2), group_prefix=2)
만약 img파일이 txt파일과 짝을 이루고 있다면, group_prefix=2로 지정해주면 된다.
img파일, txt 파일, json 파일이 있다면 group_prefix=3으로 설정하면 된다.
'DL(Deep-Learning) > 개념' 카테고리의 다른 글
[실습] numpy로 만드는 단층 신경망 - 이진 분류 2 (0) | 2022.01.29 |
---|---|
[실습] numpy로 만드는 단층 신경망 - 이진 분류 1 (0) | 2022.01.29 |
[DL] 엔트로피 Entropy (0) | 2022.01.29 |
분류 성능 지표 - Precision(정밀도), Recall(재현율) (0) | 2022.01.29 |
활성화 함수 activation function (0) | 2022.01.29 |