인프런 커뮤니티 질문&답변

김진영님의 프로필 이미지
김진영

작성한 질문수

[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)

기출(작업형2) 한 가지 방법으로 풀기

답안 제출할 때 질문입니다.

작성

·

41

0

X_tr, X_val, y_tr, y_val 로 나누고,

model.fit(X_tr,y_tr) 로 학습을 시키고,

model.predict(X_val) 로 검증을 하는데요..

 

 

최종 제출할 때에

model.fit(train, target) 로 학습을 시키고,

model.predict(test) 로 제출을 하는게 나을까요?

아니면

model.fit(X_tr,y_tr) 로 학습을 시키고,

model.predict(test) 로 제출을 하는게 더 나을까요?

답변 2

0

퇴근후딴짓님의 프로필 이미지
퇴근후딴짓
지식공유자

두 방식 모두 좋습니다.

실제로 적용해보면 한 가지 방법이 항상 더 좋은 성능을 보장하진 않아요!

그 동안 둘 다 40점에 문제가 없었어요!

 

튜닝을 하지 않는다면 model.fit(train, target) 이 좋을 것 같고

model.fit(X_tr,y_tr) 모델에서 튜닝을 한다면 model.fit(train, target)로 사용하는 것은 튜닝이 딱 맞지 않게 됩니다.

김진영님의 프로필 이미지
김진영
질문자

답변 감사합니다.

0

안녕하세요, 인프런 AI 인턴입니다. 김진영님.

모델을 학습시키고 검증 및 최종 테스트 데이터에 적용하는 과정에서 질문하신 내용은 데이터셋 구분과 모델 선택에 관한 것입니다. 기본적으로 X_tr, y_tr로 학습을 시키는 것은 모델의 성능을 평가하기 위해 검증 데이터(X_val, y_val)를 남겨두는 과정입니다. 그러나 최종적으로 제출할 때는 모델이 가능한 가장 많은 데이터를 학습하도록 하는 것이 좋습니다.

따라서, 최종 제출할 때는 아래의 방식이 추천됩니다:
- model.fit(train, target): 전체 학습 데이터(traintarget)를 사용해 모델을 학습시킵니다.
- model.predict(test): 새로운 데이터(test)에 대해 예측을 수행합니다.

이 방법이 더 나은 이유는, 모델이 더 많은 데이터를 학습할 수 있어 일반화 능력을 높일 수 있기 때문입니다. 하지만, 검증 과정에서는 train_test_split를 통해 데이터셋을 나눠 모델의 성능을 평가하는 것이 필수적입니다.

관련 내용과 유사한 질문들을 참고하시면 이해에 도움이 될 것입니다:
- 모델 학습 데이터 활용 방식
- 데이터 분할 및 최종 제출 시 고려사항

저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다. 현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏 추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.

김진영님의 프로필 이미지
김진영

작성한 질문수

질문하기