강의

멘토링

로드맵

Inflearn brand logo image

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

고동협님의 프로필 이미지
고동협

작성한 질문수

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

데이터 전처리2 (인코딩, 스케일링)

train_oh, test_oh 의미

해결된 질문

작성

·

48

0

image.png

train와 test의 데이터가 15개로 동일하지만

train_oh와 test_oh의 데이터는 왜 다른지 궁금합니다..

제가 정확히 train_oh와 test_oh는 각각 train과 test의 문자데이터를 수치형 데이터로 변환하는것으로 이해했는데 그렇다면 train과 train_oh의 데이터 갯수는 동일해야 하는것이 아닌 의문이 들어 질문남깁니다 ㅠ

답변 2

0

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

train 에는 포도 딸기 복숭아

test 에는 포도 복숭아

가 있다면

원핫인코딩 한 후

train은 컬럼이 3개인데, test는 2개가 됩니다 🙂

0

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

원-핫 인코딩을 사용하여 train과 test 데이터를 각각 인코딩한 결과, train_oh와 test_oh 데이터의 차원이 다른 이유는 각 데이터셋에 포함된 고유한 카테고리의 수가 다르기 때문입니다.

train과 test 데이터셋의 컬럼 수는 15로 동일하지만, 각 컬럼 안의 카테고리(고유 값) 수가 다를 수 있습니다. 예를 들어 train에만 특정 카테고리가 존재하는 경우, test에는 그 카테고리가 없을 수 있습니다. 이로 인해 결과적으로 one-hot 인코딩 후의 컬럼 수가 달라지게 됩니다.

원-핫 인코딩을 하면 각 고유 값이 새로운 열로 변환되므로, train_oh와 test_oh의 컬럼 수는 각 데이터셋 내의 고유값 수의 합으로 결정됩니다. 이를 해결하기 위해서는 train과 test를 먼저 합친 후 원-핫 인코딩을 수행하고, 다시 나눠주는 방식으로 일관된 차원을 유지할 수 있습니다.

강의에서 제공된 이 링크의 질문(기출 8회 2유형 질문)에서 유사한 상황에 대한 자세한 설명을 찾으실 수 있습니다. 이 방법은 데이터를 예측 모델에 맞게 일관되게 준비할 때 흔히 사용됩니다.

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

고동협님의 프로필 이미지
고동협

작성한 질문수

질문하기