강의

멘토링

로드맵

Inflearn brand logo image

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

gkfksla님의 프로필 이미지
gkfksla

작성한 질문수

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

예시문제 작업형2(ver. 2023)

레이블 인코딩 중 '주구매상품' 항목 개수가 다를 경우!

해결된 질문

작성

·

64

0

집합(SET) 활용하여 차집합 개념은 잘 이해했습니다.

  1. a-b 가 존재할 경우 레이블 인코딩 하면 문제가 없는 것

  2. b-a 존재할 경우 학습시 b에 존재하는 컬럼이 인코딩이 안되는 문제!

이럴 경우엔 axis=0(열)로 합해서 인코딩 후 다시 분리하는 방법이 있다고 하셨는데

그렇게 하지않고

인코딩 할때 fit을 b(test) 로 하고 트랜스폼을 a(train)으로 하면 무슨 문제가 발생할까요?

답변 2

0

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

오~! 시험에서 충분히 적용가능하겠네요 굿굿!! 좋습니다!! 문제 없습니다.

 

다만 일반적으로 실무에서는 test데이터는 미래 데이터라 그렇게 하진 않아요
전문적으로는 Data Leakage(데이터 누수) 라고 말하고 있어요

gkfksla님의 프로필 이미지
gkfksla
질문자

이렇게 빨리 답변 달아주시다니 감사합니다!

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

열공해서 합격하세요 🙂

0

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

‘주구매상품’ 항목에서 train과 test 데이터셋의 카테고리 개수 차이로 인한 문제는 데이터 전처리에서 빈번하게 발생하는 상황입니다. 이를 해결하기 위한 방법 중 하나는 언급하신 대로 두 데이터셋을 합쳐 인코딩 진행 후 분리하는 것이 일반적입니다. 하지만, 언급하신 다른 방법도 고려해볼 수 있습니다.

  1. fit을 test 데이터에 하고 transform을 train 데이터에 하는 경우:
    • 이 방법은 test 데이터셋에 존재하는 고유값을 기준으로 인코딩을 진행하므로, train에 없는 값이 발생할 수 있으며, 이러한 경우 예측 시 문제가 발생할 수 있습니다.
    • 특히, 라벨 인코딩을 적용할 때 train에 존재하지 않는 값은 새로운 카테고리로 처리되어야 데이터가 일관성을 가질 수 있습니다.

이러한 방법이 일반적으로 사용되지 않는 이유는, 일반적으로 모델 학습 단계에서 train 데이터를 기준으로 모델을 구축하기 때문입니다. 따라서 인코딩의 기준도 train 데이터가 되어야 합니다. 이를 통해 데이터의 분포가 유지되며 과적합을 방지할 수 있습니다.

관련해서 유사한 질문과 답변을 참고하시면 도움이 될 것 같습니다:

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

gkfksla님의 프로필 이미지
gkfksla

작성한 질문수

질문하기