인프런 커뮤니티 질문&답변

sychang2000님의 프로필 이미지
sychang2000

작성한 질문수

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

코드 이렇게 해도 될까요?

해결된 질문

작성

·

257

·

수정됨

0

# 피처 엔지니어링 - date에 쫌 안맞아서 해보겠음
cols1 = list(X_train.columns[X_train.dtypes == object]) # 범주형
cols2 = list(X_train.columns[X_train.dtypes != object]) # 수치형

# 수치형 변수의 스케일링 - 값이 안맞는 것은 범주형 데이터에서만 나타나기 때문에 데이터를 나누기전 수치형 데이터부터 먼저 처리해준다.
from sklearn.preprocessing import RobustScaler

Ro = RobustScaler()
X_train[cols2] = Ro.fit_transform(X_train[cols2])
X_test[cols2] = Ro.transform(X_test[cols2])

# X_train행의 길이 알아두기
a = len(X_train) #17290

# 범주형 변수의 더미 인코딩
combined = pd.concat([X_train, X_test])  # 훈련 데이터와 테스트 데이터 합치기(위아래로)
combined = pd.get_dummies(combined[cols1])

# 다시 훈련 데이터와 테스트 데이터로 분리
X_train = combined.iloc[:a]
X_test = combined.iloc[a:]

답변 1

0

퇴근후딴짓님의 프로필 이미지
퇴근후딴짓
지식공유자

네!! 깔끔하게 코딩했네요 💪💪💪
cols1, cols2에서 빼야하는 것이 있다면 print()로 출력해 직접리스트를 만드는 방법도 있습니다.

cols1 = ['컬럼명']

sychang2000님의 프로필 이미지
sychang2000

작성한 질문수

질문하기