학습-테스트 분할(train-test split)은 모델 평가에서 가장 먼저 내리는 결정인 경우가 많으며, 어떻게 나누느냐에 따라 테스트 점수의 의미가 정해집니다. 데이터에 시간 순서가 있는데 무작위로 나누면, 일부 학습 레코드보다 앞선 시점의 레코드가 테스트에 들어갑니다. 한 고객이 양쪽에 모두 나타나면, 모델은 이미 본 사람으로 일부 테스트를 받는 셈입니다.
CUBIG의 UCI Polish Companies Bankruptcy 실험(2026년 10월)은 학습 레코드 7,768건과 평가 레코드 1,942건으로 기준 분할을 구성했고, 모든 전후 비교에서 같은 평가 레코드를 유지했습니다.
분할 전에 정해 둘 질문은 다음과 같습니다.
- 데이터에 시간 순서가 있는지, 테스트를 학습 기간 이후로 두어야 하는지
- 여러 레코드가 한 고객, 환자, 사업장, 기기에 속하는지, 이런 레코드를 한쪽에 모아 두어야 하는지
- 중요한 결과가 드문지, 테스트 부분에 그 사례가 충분히 들어 있는지
- 데이터에서 값을 학습하는 준비 단계는 무엇이며, 그 단계를 학습 부분에만 맞춰 적용하는지
학습-테스트 분할은 학습-검증-테스트 분할과 어떻게 다른가요?
- 학습-테스트 분할은 학습용과 결과 측정용, 두 부분으로 나뉩니다.
- 학습-검증-테스트 분할(train-validation-test split)은 설정을 조정하고 여러 버전 가운데 하나를 고르는 데 쓰는 검증 부분을 더합니다. 그래서 테스트 부분은 최종 측정 전까지 손대지 않은 상태로 남습니다. 용어의 쓰임은 평가 세트 항목에서 설명합니다.
- 교차 검증은 하나의 검증 부분 대신 여러 검증 부분을 번갈아 사용합니다.
AI 업무에서 학습-테스트 분할은 어디서 문제가 되나요?
한 팀이 보험 청구 레코드를 무작위로 나누고 피처를 준비한 뒤 높은 테스트 점수를 보고합니다. 그런데 테스트 부분에는 상당수 학습 청구보다 나중에 접수된 청구가 들어 있고, 여러 필드는 전체 데이터셋의 통계로 스케일링되었습니다. 두 선택 모두 테스트의 정보가 학습으로 새어 들어가게 합니다. 그래서 이 점수는 다음 달 청구에서 모델이 낼 성능을 부풀렸을 가능성이 큽니다.
분할이 계속 쓸모 있으려면 모델이 실제로 쓰이는 방식을 반영해야 하고, 학습하는 모든 단계를 학습 부분에만 맞춰야 합니다. 데이터 누수에서 설명하는 원칙과 같습니다. UCI 실험 글도 자체 분할의 한계를 밝힙니다. 결과는 양성 평가 레코드 103건이 들어 있는 단일 분할에서 나왔고, 시간 기준 검증이 아니며, 현재 기업에 대한 성능 근거도 아닙니다.