지난번에는 이미지 데이터가 대상인 Data Augmentation의 ImageDataGenerator 를 이용하여 학습데이터를 분리하였다.
이번에는 단순히 pandas 로 읽어들인 숫자 문자등의 데이터를 분리해 보겠다.
1. numpy 를 이용하는 방법
import numpy as np def shuffle_and_split_data(data, test_ratio): np.random.seed(42) # np.random.permutation(length) : 랜덤으로 일련번호의 순서를 바꿈 shuffled_indices = np.random.permutation(len(data)) # 테스트 사이즈를 계산 test_set_size = int(len(data) * test_ratio) # 초반 test_set_size 만큼 테스트 데이터의 인덱스 test_indices = shuffled_indices[:test_set_size] # 이후 데이터는 학습데이터의 인덱스 train_indices = shuffled_indices[test_set_size:] # 인덱스별 데이터 추출 return data.iloc[train_indices], data.iloc[test_indices] |
테스트데이터를 20% 설정 (80%는 학습데이터)
train_set, test_set = shuffle_and_split_data(pd, 0.2) |
2. Scikit-Learn 를 이용하는 방법
from sklearn.model_selection import train_test_split train_set, test_set = train_test_split(pd, test_size=0.2,random_state=42) |
'data science > deep learning' 카테고리의 다른 글
바이너리 분류 모델에 있어서 평가 항목 (0) | 2024.01.16 |
---|---|
학습 데이터 준비 (0) | 2024.01.02 |
(VGG16) Fine tunning (0) | 2024.01.01 |