inflearn logo
강의

Course

Instructor

[Side Project After Work] Big Data Analysis Certification Practical Exam (Type 1, 2, 3)

작업형 2유형 label encoding

Resolved

586

peter park

3 asked

0

작업형 2유형 라벨 인코딩 할 때

다른 교재에서는 X_train 과 X_test 데이터를 모두 fitting 시키던데

수업에서 다룬 X_train은 fit_transform 시키고 X_test는 Transform만 시키는 방식과

어떤 차이가 있는지 궁금합니다.

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

Answer 2

2

Jason

개인적인 공부 차원에서 커뮤니티 글 보면서 학습 중인 수강생입니다.

 

train과 test 모두 fitting 시키는 건 잘 모르겠는데

fit_transform과 transform 과정에 대해 선생님이 알려주신 내역을 전달 드리면

 

Train 데이터에는 fit_transform 함수(fit와 transform을 2개 합쳐 놓음)

Test 데이터에는 transform 함수를 사용하는데,

 

fit는 Train 데이터에 있는 숫자가 아닌 범주형 변수(ex. 자동차, 기차 등)를 학습하고

자동차는 0, 기차는 1이라는 라벨을 만드는 과정이고, transform은 '자동차' 라는 문자를 숫자 '0'에 적용하는 단계라고 보시면 될 거 같습니다.

 

train 데이터에서는 범주형 변수에 대한 라벨(자동차: 0 , 기차: 1)을 이미 만들었으니 (fit 과정),

test 데이터에서는 train에서 만든 라벨을 숫자로 변환하는 과정만 필요하므로, transform만 적용한다고 보시면 됩니다.

1

roadmap

Jason님이 남겨 준 댓글이 맞아요!
보통은 train데이터에서는 fit과 transform을 사용하고,
test 데이터에는 transform만 사용하여 train데이터와 동일하게 변환 작업을 합니다.

 

X_train 과 X_test 데이터를 모두 fit하는 것은 합쳐서 하는 것이 아니라 각각 했을 때
문제가 있어요! 컬럼(카테고리)의 수가 다르다면 다른 결과로 각각 인코딩 됩니다.

따라서

레이블 인코딩 시

  1. X_train은 fit_transform 시키고 X_test는 Transform만 시키는 방식

  2. 또는 합쳐서 fit_transform 방식 중에 선택해서 작업해주세요!

0

peter park

## train과 test 특정 범주형 컬럼의 카테고리가 다를 때

- train이 test를 포함한다면: 레이블 인코딩, 사이킷런 원핫인코딩, train+test 합쳐서 인코딩

- test가 train을 포함한다면: train+test 합쳐서 인코딩

두 범주의 카테고리를 비교하기 힘들다면 아래 방식처럼 해도 될까요?

from sklearn.preprocessing import LabelEncoder
X=pd.concat(x_train[col_cat],x_test[col_cat])

for col in col_cat:
  le=LabelEncoder()
  le.fit(X[col])
  x_train[col] = le.transform(x_train[col])
  x_test[col] = le.transform(x_test[col])

 *방금 수업 듣고 왔습니다. 수업내용에 잘 정리되어 있었네요. 감사합니다.

0

roadmap

네, 좋은 생각이네요 💪💪💪

데이터를 분리할 필요가 없으니 저보다 더 간결하게 사용한 것 같습니다.

한 수 배웠습니다 🙇🏼‍♂️

 

전처리 train() test([ ])

0

2

1

작업형 1 배경지식 질문

0

7

1

옳게 풀은건지 질문드립니다!

0

6

0

roc_auc_score

0

8

1

추가질문 합니다

0

12

1

시험환경 구름

0

12

1

2유형 질문드려요

0

8

1

RandomForest vs lgb

0

18

1

전처리 관련질문

0

14

2

작업형3 기출

0

13

1

유형2에서 데이터분할 생략 가능여부

0

22

2

9회 기출 유형3 질문

0

15

1

lgb 기초편

0

10

1

괄호 사용

0

15

1

작업형 2 데이터 전처리 질문

0

20

1

11회 기출 유형 작업형1 문제 3-1

0

16

0

예시문제 작업형2 (ver2023) 질문입니다

0

16

1

Data type에 따른 처리

0

16

2

데이터 전처리 관련

0

16

2

시험에서 문제 불러오기

0

18

2

2번문제 출력값 질문

0

23

2

pd.get_dummies()가 bool로 반환

0

18

2

대응표본검정 레빈

0

23

3

단일표본검정 문제 유형

0

23

2