작업형2에서 train, test 합쳐서 인코딩 후 분리하는 부분 질문입니다.
121
작성한 질문수 3
안녕하세요 강사님!
[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)
답변 1
작업형2모의문제3_updated2026.10
0
10
1
작업형2 모의문제3_updated2026.10
0
12
2
38강에서 불균형 데이터 처리하는 stratify를 꼭 해줘야하는건지 질문합니다.
0
14
2
수강강의 연장 관련 문의
0
17
1
작업형1_연습문제1 section2
0
20
2
수강기간 연장 문의드립니다
0
22
1
작업형2 모의문제2_updated2026.10
0
31
2
수강기간 연장문의
0
25
1
작업형 2 질문
0
33
2
강의 연장 관련하여 문의드립니다.
0
38
1
섹션7 자료 다운로드
0
41
2
작업형 1 연습문제 Section12
0
40
2
수강기간 연장 문의
0
52
1
안녕하세요, 혹시 수강기간 연장이 가능할까요?
0
45
2
판다스 강의자료는 어디서 받을 수 있나요?
0
54
2
작업형2 모의고사3 자료 업데이트 요청
0
60
4
수강 연장가능여부 문의드립니다!
0
50
2
수강기간 연장 문의드립니다!
0
44
2
최빈값
0
48
2
수강 가이드라인
0
41
2
수강 연장 가능 여부 문의
0
65
2
강의 구매했는데 교재 필수일까요
0
49
2
수강기간 연장 가부 문의드립니다.
0
45
2
수강기간 연장이 가능한지 양해를 구하며 문의를 드립니다.
0
46
2





