inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

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

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

원핫인코딩 슬라이싱 결과

3

아아

작성한 질문수 1

0

안녕하세요

10:12 에 결과값이 아래와 같은데,

(29301, 15) (3257, 15)

(29301, 107) (29301, 107)

실제로 실행을 시켜보면 107에서 108로 숫자가 늘어났습니다.

(29301, 15) (3257, 15)

(29301, 108) (29301, 108)

코랩에 있는 제미나이에게 물어보니 "만약 test 데이터셋에 train 데이터셋에는 없는 새로운 범주가 하나라도 있다면, data_oh는 그 새로운 범주에 대한 더미 컬럼이 추가로 생기게 됩니다. 따라서 train_oh보다 data_oh의 컬럼 수가 많아질 수 있습니다."

라고 나오는데 왜 저는 결과값이 다른걸까요?

 

python 머신러닝 빅데이터 pandas 빅데이터분석기사

답변 1

0

인프런 AI 인턴

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

원핫인코딩 후에 데이터의 컬럼 수가 달라질 수 있는 주된 이유는 두 데이터셋 간의 범주형 변수에서 나타난 차이 때문입니다. train 데이터셋과 test 데이터셋의 범주형 데이터에 서로 다른 값이 있을 경우, 전체 데이터에 대해 원핫인코딩을 적용하면 추가적인 컬럼이 생성될 수 있습니다.

원핫인코딩 컬럼 불일치 이유

  • 범주형 데이터 차이: train 데이터셋에는 없지만 test 데이터셋에 존재하는 새로운 범주가 있을 경우, 인코딩 후 전체 데이터의 컬럼 수가 증가할 수 있습니다.
  • 데이터 병합 전 인코딩 차이: 일반적으로 원핫인코딩을 수행하기 전에 두 데이터셋을 병합합니다. 이는 각 범주형 변수의 모든 가능한 값을 한 번에 담아내어 컬럼 수를 일관되게 유지하기 위함입니다.

해결 방법

  • 데이터 병합 및 인코딩 후 분리: traintest 데이터를 먼저 병합한 후 원핫인코딩을 수행한 다음 다시 분리하는 방식으로 진행하면 두 데이터셋에서 동일한 컬럼을 갖도록 합니다.

관련된 내용을 찾아보실 수 있는 링크를 제공드립니다:

이 링크에서는 원핫인코딩 시 발생할 수 있는 컬럼 일관성 문제 및 해결 방법에 대해 설명하고 있습니다.

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

random_state 값이 궁금합니다!

0

17

2

수강기간 연장 가능 여부 문의드립니다

0

32

2

city 컬럼 삭제

0

21

2

3회 기출(작업형 2) 질문 있습니다!!

0

21

1

2유형 탬플릿에 대한 질문입니다

0

37

1

시험환경 질문 드립니다.

0

29

1

수강기간 연장 가능 여부 문의드립니다

0

47

2

문제2-2에서 유의한 변수에서 음수는 유의한지?

0

33

3

강의 만료 후 오프라인 저장 강의 수강 가능 여부

0

45

2

xgboost에 관해

0

49

2

빅데이터분석기사 작업2형

0

51

2

평가지표 RMSE 문의

0

46

2

1-3번문제 질문

0

43

2

회귀모델 평가지표 최근 시험환경에서의 지원여부가 궁금합니다

1

41

2

컬럼 삭제 관련

0

47

2

레이블 인코딩과 원핫 인코딩

0

48

2

검정결과 질문(채택/기각)

0

38

2

수강기간 연장 가능 여부 문의

0

47

2

마인드맵에서 암기해야할 내용은 별마크 인가요

0

42

2

수강 연장 문의드립니다

0

39

2

2유형 관련 질문

0

50

2

수강기간 연장 문의드립니다

0

43

2

로지스틱 회귀 데이터 누락 관련 질문

0

43

2

수강기간 연장 문의드립니다.

0

43

2