inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

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

작업형2에서 train, test 합쳐서 인코딩 후 분리하는 부분 질문입니다.

107

강하빈

작성한 질문수 3

0

안녕하세요 강사님!

 

[3-4 Feature engineering.ipynb] 파일 복습 중에

 

# train, test 합쳐서 인코딩 후 분리하기
cols = list(X_train.columns[X_train.dtypes == object])
print(X_train.shape, X_test.shape)

all_df = pd.concat([X_train, X_test])

all_df = pd.get_dummies(all_df[cols])

line = int(X_train.shape[0])
X_train = all_df.iloc[:line,:].copy()
X_train

X_test = all_df.iloc[line:,:].copy()
X_test

print(X_train.shape, X_test.shape)

이부분에서 '원핫인코딩' 대신 '레이블인코딩'을 하면 어떻게 해야될지 의문점이 생겼습니다.

레이블 인코딩시에는 train데이터에는 fit_transform() 을 하고 test 데이터에는 transform() 을 하는 것으로 알고 있는데 X_train 데이터와 X_test 데이터를 합쳤을 때는 fit_transform(), transform() 둘 중 어떤 것을 사용하고나서 분리해야되는지 궁금해서 질문 드립니다!

아래는 fit_transform()을 이용해서 구현해본 코드입니다.

X_train.shape, X_test.shape
df = pd.concat([X_train, X_test])
df.select_dtypes(include='O').columns

c_cols = ['workclass', 'education', 'marital.status', 'occupation',
       'relationship', 'race', 'sex', 'native.country']

df.select_dtypes(exclude='O').columns

n_cols =  ['age', 'fnlwgt', 'education.num', 'capital.gain', 'capital.loss',
       'hours.per.week']

from sklearn.preprocessing import LabelEncoder
for col in c_cols:
  le = LabelEncoder()
  df[col] = le.fit_transform(df[col])
line = len(X_train)
X_train = df.iloc[:line,:].copy()
X_test = df.iloc[line:,:].copy()
print(X_train.shape, X_test.shape)

 

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

답변 1

0

퇴근후딴짓

네 정확합니다.

fit은 사전을 만드는 것이고

transform은 그 사전대로 숫자로 대입하는 형태에요

합쳤을 때는 fit_transform이 맞아요

 

시험이 2일 남았네요 시간이 없으니

작업형2는

  1. 꿀팁 섹션 - 작업형2 한가지 방법으로 풀기

  2. 꿀팁 섹션 인코딩시 에러가 발생한다면?

으로 학습해주시고 기출문제를 풀어주세요

1

강하빈

넵 빠른답변 정말 감사드립니다! :)

RandomForest vs lgb

0

12

1

전처리 관련질문

0

7

2

작업형3 기출

0

7

1

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

0

14

2

9회 기출 유형3 질문

0

10

1

lgb 기초편

0

8

1

괄호 사용

0

12

1

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

0

14

1

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

0

10

0

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

0

12

1

Data type에 따른 처리

0

12

2

데이터 전처리 관련

0

14

2

시험에서 문제 불러오기

0

12

2

2번문제 출력값 질문

0

18

2

pd.get_dummies()가 bool로 반환

0

16

2

대응표본검정 레빈

0

20

3

단일표본검정 문제 유형

0

22

2

[작업형 3] 6~7. 카이제곱 검정

0

18

2

9회 작업형3 문제 1-1

0

35

2

최종답안 계산 방식 질문

0

21

1

시험 치기 전 급하게 질문 사항

0

35

2

유형3

0

29

2

작업형 2 연습문제 섹션 3

0

20

2

11 기출문제 ipynb파일

0

33

2