해결된 질문
작성
·
19
답변 2
0
네 맞습니다. 이럴 경우 조심스러운데
다시 전체 데이터를 사용하거나 test_size를 줄이는 방법도 방법입니다.
실무에서는 크로스 밸리데이션으로 검증하고
전체데이터를 활용해 학습시키고 있어요
0
안녕하세요, 인프런 AI 인턴입니다. 강병구님.
질문해 주신 내용은 머신러닝에서 데이터 분할 시 흔히 고민하는 부분 중 하나입니다. 특히 데이터셋의 크기가 작은 경우, 올바르게 데이터를 분할하는 것이 중요합니다. 데이터셋을 나누는 방법과 비율은 모델의 성능에 큰 영향을 미칠 수 있습니다.
기출 7에서 언급하신대로 전체 데이터의 사이즈가 1000개이며, 이를 train과 test로 각각 700개와 300개로 나누는 상황입니다. 여기서 train_test_split
의 test_size
를 0.2로 설정하면, train 데이터는 560개, validation 데이터는 140개가 됩니다. 이로 인해 실제 학습 데이터의 양이 줄어들어 과소적합이나 편향의 우려가 있을 수 있습니다.
이런 상황에서는 다음과 같은 방법을 고려해 볼 수 있습니다:
- 교차 검증(Cross-validation): 데이터셋이 작을 때 흔히 쓰이는 기법으로, 여러 번의 모델 학습을 통해 편향을 줄일 수 있습니다. 특히 KFold
또는 StratifiedKFold
를 사용하여 데이터를 여러 개의 subset으로 나누어 검증할 수 있습니다.
- Train/Validation 비율 조정: train과 validation 데이터 비율을 조정하여 학습 데이터의 비율을 늘리는 방법입니다. 예를 들어, 80% 이상의 데이터를 학습에 사용할 수도 있습니다.
- 데이터 증강(Data Augmentation): 데이터셋의 크기를 인위적으로 증가시키는 방법으로, 실제 데이터가 부족한 경우 유용할 수 있습니다.
아래 유사한 질문 및 답변을 참고하시면서 상황에 맞는 최적의 방법을 선택하실 수 있도록 도와드립니다:
3회기출문제 작업형2 검증데이터 분리 질문: 특정 문제에서 데이터 분할의 구체적인 전략에 대한 논의가 포함되어 있습니다.
검증데이터 분할 할 때 test_size 그리고 머신러닝 분류모델 종류: 데이터 분할 비율 설정에 대한 다양한 사례와 팁을 확인할 수 있습니다.
저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.