PROGRESS
17 / 17
단원
데이터 구조화: AI 전처리 17
데이터의 규칙: 예측 로직 14
옷의 시너스: 판단 로직 1
예와 아니오: 판단 로직 6
닮은꼴 찾기: 관계 로직 7
최적의 경로: 강화 로직 7
층층이 지능: 신경망 로직 7
전체 목록
훈련/테스트 데이터 분리
40 P
QUESTION 17 #370
전체 데이터를 훈련용(앞 3개)과 테스트용(뒤 2개)으로 나누는 코드를 완성하세요.
main.py
X = [[20, 70], [25, 80], [30, 85], [28, 75], [22, 65]]
y = [50, 80, 110, 90, 55]
# 앞 3개는 훈련용
X_train = X[:]
y_train = y[:]
# 뒤 2개는 테스트용
X_test = X[3:]
y_test = y[3:]
print(f"훈련 데이터: {len(X_train)}개")
print(f"테스트 데이터: {len(X_test)}개")
HINT
슬라이싱에서 [:숫자]는 처음부터 해당 인덱스 전까지를 의미합니다.
실행 결과 예시
훈련 데이터: 3개 테스트 데이터: 2개
INTERACTIVE SHELL
Shift + Enter 로 즉시 실행
📂 훈련/테스트 분리의 중요성
시험 공부를 할 때 문제집으로 공부하고 모의고사로 실력을 확인하는 것과 같습니다.
- 훈련 데이터(Train): 모델이 패턴을 학습하는 데 사용합니다.
- 테스트 데이터(Test): 학습에 사용하지 않은 새로운 데이터로 성능을 평가합니다.
만약 같은 데이터로 학습하고 평가하면, 문제를 외운 것과 같아서 실제 성능을 알 수 없습니다. 이를 과적합(Overfitting)이라고 합니다.
실무에서는 sklearn의 train_test_split() 함수를 사용하여 자동으로 분리합니다.