강의

멘토링

로드맵

Inflearn brand logo image

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

김대현님의 프로필 이미지
김대현

작성한 질문수

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

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

인코딩 관련

해결된 질문

작성

·

39

0

image.png

여태까지 인코딩 할 때 train에만 있는 컬럼, test에만 있는 컬럼 고려하지 않고 사진처럼 바로 라벨인코딩을 했습니다. 최근에 업데이트된 영상을 보니 카테고리가 다를 때 혹은 포함할 때 등 이런 경우를 고려해서 적용하던데 원래 제 방식대로 해도 문제 없나요?

답변 2

0

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

지금까지 기출이 한번도 다른 종류가 없었기에 신경쓰지 않아도 됐었어요

그런데 작업형2에서 40점 확보는 반드시 필요해 좀 더 과한 학습이 필요해요

화이팅!!

0

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

김대현님께서 인코딩 작업 시 train과 test 데이터셋 간의 컬럼 차이를 고려하지 않고 라벨 인코딩을 사용해도 문제가 없는지 문의하셨네요. 이와 관련된 몇 가지 중요한 내용을 공유드리겠습니다.

데이터셋 간 인코딩 차이 고려

일반적으로 라벨 인코딩이나 원핫 인코딩을 사용할 때 train과 test 데이터셋 간에 카테고리 차이가 발생할 수 있습니다. 여기서 몇 가지 주의사항이 있습니다:

  1. 라벨 인코딩:

    • 라벨 인코딩은 범주형 변수를 정수로 직접 변환합니다. 이때 train 데이터에서 사용한 매핑을 반드시 test 데이터에도 동일하게 적용해야 합니다. 그렇지 않으면 train과 test 간에 인코딩된 값이 달라질 수 있습니다.
  2. 원핫 인코딩:

    • train이나 test에 특정 범주가 독립적으로 존재할 때 별도의 열이 추가되므로, 두 데이터셋 간 동일한 열 구조를 유지하기 위해 데이터 통합 후 인코딩하거나 데이터 분할 전 인코딩을 고려해봐야 합니다.

데이터 합친 후 인코딩하는 방법

train과 test 데이터셋을 합친 후 인코딩을 진행하면, 모든 범주형 변수에 대해 동일한 인코딩이 이루어지므로, 테스트 과정에서의 오류를 최소화할 수 있습니다. 여기서는 각 데이터셋을 합친 뒤 전체 데이터를 인코딩하고, 다시 분할하는 방식으로 접근합니다.

아래 링크에서 유사한 문제에 대한 논의를 찾아볼 수 있습니다:
- 머신러닝 인코딩 관련 문의

결론

김대현님의 방식대로 진행하셨다 해도 특정 경우에서는 문제가 발생하지 않을 수 있지만, 위에서 설명드린 상황을 고려하여 진행하시는 것이 좋습니다. 특히, 데이터에서 드물게 나타나는 카테고리나 train/test에 만개할하는 특정 카테고리는 주의해야 합니다.

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

김대현님의 프로필 이미지
김대현

작성한 질문수

질문하기