피처 엔지니어링 코드 이래도 될까욧!?
# 피처 엔지니어링
cols1 = list(X_train.columns[X_train.dtypes == object]) # 범주형
cols2 = list(X_train.columns[X_train.dtypes != object]) # 수치형
Xc_train = X_train[cols1] # 범주형
Xc_test = X_test[cols1]
Xn_train = X_train[cols2] # 수치형
Xn_test = X_test[cols2]
Xc_train = pd.get_dummies(X_train[cols1])
Xc_test = pd.get_dummies(X_test[cols1])
from sklearn.preprocessing import RobustScaler
Ro = RobustScaler()
X_train[cols2] = Ro.fit_transform(X_train[cols2])
X_test[cols2] = Ro.transform(X_test[cols2])
Xn_train = X_train[cols2] # 수치형
Xn_test = X_test[cols2]
X_train = pd.concat([Xc_train, Xn_train], axis = 1)
X_test = pd.concat([Xc_test, Xn_test], axis = 1)
print(X_train)
print(X_test)
늘 빠른 답변 감사드려용
답변 1
1
네 그런데 혹시 모르니 cols2는 체크를 할 필요가 있어요 int, float외 다른 자료형이 있을 수도 있습니다.
인코딩의 경우 train과 test종류가 다르다면 합쳐서 인코딩 하고 다시 분할하는 것도 연습해주세요:)
1
train에는 사과 딸기 포도가 있는데
test에는 딸기 수박이 있다면 어떻게 될까요?
fit을 통해 사과는 0, 딸기는 1, 포도는 2라고 사전을 만들고
transform을 통해서 train은 무사히 변환 되지만
test는 에러발생!!!! 수박을 알 수 없음!! 이라고 나옵니다.
이에 합쳐서 인코딩(사과는 0, 딸기는 1, 포도는 2, 수박은 3)을 진행하는 것을 말했어요
(추가적으로 합쳐서 진행할 경우 데이터 누수라는 부정적 영향이 있는데 이것은 빅분기에서는 다루진 않을 것 같아 생략하겠습니다)
수강 연장 문의드립니다.
0
8
2
예시문제 작업형2(ver. 2025)
0
11
2
작업형2 모의문제 3 질문
0
12
1
수강연장 관련 문의
0
18
2
안녕하세요 강사님 문의사항이 있습니다
0
23
1
수강 연장 문의
0
33
4
수강기간 연장 관련 문의
0
30
2
작업형2모의문제3_updated2026.10
0
50
2
안녕하세요. 수강연장 신청드립니다
0
28
2
코랩 링크
0
30
2
작업형2 모의문제2 updated 2026.10 질문
0
46
2
카이제곱 독립성검정 질문합니다.
0
42
2
기출 7회 작업형2 평가지표 문의드립니다.
0
32
2
수강연장 문의 드립니다!
0
61
3
수강연장 문의드립니다
0
47
4
작업형2모의문제3_updated2026.10
0
57
2
작업형2 모의문제3_updated2026.10
0
49
2
38강에서 불균형 데이터 처리하는 stratify를 꼭 해줘야하는건지 질문합니다.
0
48
2
수강강의 연장 관련 문의
0
62
2
작업형1_연습문제1 section2
0
48
2
수강기간 연장 문의드립니다
0
51
2
작업형2 모의문제2_updated2026.10
0
64
2
수강기간 연장문의
0
48
2
작업형 2 질문
0
55
2





