강의

멘토링

로드맵

Inflearn brand logo image

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

정경조님의 프로필 이미지
정경조

작성한 질문수

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

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

예시문제 작업형2(신 버전)

해결된 질문

작성

·

56

·

수정됨

0

예시문제 작업형2를 먼저 푼 뒤에 풀이 영상을 봤습니다.

근데 제가 처음에 풀 때는 train, test 데이터의 주구매상품을 unique 찍어보니 다르게 나와서 pd.concat을 통해 데이터를 합친 뒤 라벨 인코딩을 하고 다시 나눠서 진행했습니다.

image.png

근데 풀이영상에서는 안 합치고 라벨 인코딩을 진행하셨는데 train 테이블 가지고 학습하는데 예측할 테이블보다 유니크 수가 더 많으면 굳이 합칠 필요가 없는 건가요?

그리고 합쳐서 진행해도 상관 없는 걸까요? roc_auc_score는 0.62점으로 풀이 영상보다 높게 나오긴 했습니다.

답변 2

1

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

네, 합치면 아무런 문제가 없습니다.

잘 풀이 하셨네요!! 화이팅입니다 🙂

 

라벨 인코딩을 진행하셨는데 train 테이블 가지고 학습하는데 예측할 테이블보다 유니크 수가 더 많으면 굳이 합칠 필요가 없는 건가요?

네, 이 경우 레이블 인코딩만 가능합니다. 원핫인코딩은 불가

다만 train에 유니크 수가 더 많다라는 표현 보다는 train의 유니크가 test의 유니크를 모두 포함할 때 입니다.

 

0

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

정경조님께서 예시문제 작업형2에 대해 질문을 남겨주셨군요. 주구매상품의 유니크 값이 train과 test 데이터셋 간에 차이가 있어서, 데이터셋을 합쳐서 라벨 인코딩을 하고 다시 분리하는 방법을 사용하셨다고 하셨습니다. 이런 방식을 사용했을 때 AUC 점수가 더 높게 나왔다고 하셨네요.

특정 상황에서 train과 test 데이터를 합쳐서 전처리를 하는 것은 흔한 접근법 중 하나입니다. 특히 라벨 인코딩 또는 원핫 인코딩과 같은 방법을 사용할 때 주구매상품의 유니크 값이 train과 test에 차이가 있다면 이러한 방식이 유리할 수 있습니다. 이유는 이렇게 함으로써 train과 test에서 같은 차원(특징 공간)을 공유하게 되어 모델 예측 시 문제가 발생할 여지를 줄일 수 있기 때문입니다.

라벨 인코딩을 할 때 두 데이터를 합치지 않고 진행한 이유는, train 데이터셋을 기반으로 모델을 학습할 때 학습 데이터에 없는 카테고리는 test에서 예측 시 영향을 끼치지 않기 때문입니다. 즉, train 데이터 자체로 모델을 훈련하는데 큰 문제는 없지만, 예외적으로 test에 존재하는 추가적인 카테고리가 모델에게 혼란을 줄 수는 있습니다.

결국 데이터 분석 및 전처리 단계에서는 다양한 방법을 시도하여 최종 성능에 어떤 영향을 미치는지를 파악하는 것이 중요합니다. 정경조님께서 합쳐서 일관된 인코딩을 수행하여 더 나은 성능을 얻었다면, 그 방법도 유효하다고 볼 수 있습니다.

관련 답변 차원에서 이와 유사한 질문에 대한 기존 답변을 참고하시면 도움이 될 것입니다. 이 답변에서는 라벨 인코딩과 관련하여 train과 test 데이터셋의 유니크 차이가 있을 때의 처리 방법에 대한 설명이 포함되어 있습니다.

저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.

현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.

정경조님의 프로필 이미지
정경조

작성한 질문수

질문하기