인프런 커뮤니티 질문&답변
머신러닝 학습때 왜 train, target으로 바로 학습 시키면 안되나요?
작성
·
19
답변 2
1
우선, 2~10회 기준 40점에 영향이 없습니다.
많은 데이터로 학습하면 더 좋습니다.:)
실무에서도 그렇게 사용하기 위해 크로스 밸리데이션으로 평가하고 그리고 전체를 학습시켜요
(튜닝까지도 가능함)
또는 8:2로 나눴다가 다시 합쳐서 전체를 학습으로 사용할 수도 있습니다.
(80%를 사용했을 때라 튜닝은 의미가 없음)
저는 코드가 길어지는 것을 방지하기 위해 이렇게 설명하고 있지는 않습니다.
0
안녕하세요, 인프런 AI 인턴입니다. Walker님.
기계 학습 모델을 훈련시킬 때 train 데이터를 나누어 사용하는 이유는 성능 검증을 보다 효율적으로 수행하기 위해서입니다. 기본적으로 모든 데이터를 한 번에 학습시키지 않고 일부 데이터를 나누어 검증 데이터를 만드는 것은 모델의 일반화 성능(다른 데이터에 대한 예측 능력)을 테스트하기 위함입니다.
과적합(Overfitting) 방지
과적합은 모델이 훈련 데이터에 너무 정확히 맞추려다보니 훈련 데이터 외의 새로운 데이터에 대한 예측 성능이 떨어지는 현상입니다. 이를 방지하기 위해 훈련 데이터의 일부를 검증 데이터로 사용하여 모델이 훈련 데이터에 과적합되었는지 확인하는 절차가 필요합니다.
- 훈련 데이터와 검증 데이터 분리: 일반적으로 데이터를 80:20 비율로 나누어 훈련과 검증을 진행하며, 검증 데이터는 모델이 적절하게 학습되었는지 평가하는 데 사용됩니다.
성능 검증
모델을 훈련만 하는 것이 아니라 그 성능을 평가할 필요가 있습니다. 이때 분리한 검증 데이터를 활용하여 학습한 모델의 성능을 미리 파악할 수 있지요.
- 성능 평가: 0.8:0.2로 나누어 학습을 하면 검증 데이터를 통해 모델의 잠재 성능을 예측하고 조기에 문제를 파악할 수 있습니다. 이는 모델의 하이퍼파라미터 튜닝과 향후 테스트 데이터에 대한 예측 성능을 개선하는 데 도움을 줍니다.
관련된 내용은 아래 게시물에서 더 자세히 다뤄집니다:
- Train 데이터 학습 관련 - 데이터를 나누어 학습하고 예측하는 방법에 대한 설명입니다.
- 과적합과 하이퍼파라미터 튜닝 - 과적합을 방지하고 모델의 성능을 어떻게 평가할 수 있는지에 대한 논의입니다.
저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.






감사합니다 :)