인프런 영문 브랜드 로고
인프런 영문 브랜드 로고

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

고혜빈님의 프로필 이미지
고혜빈

작성한 질문수

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

작업형2 기출문제 3회 질문

해결된 질문

작성

·

179

0

# 수치형 데이터와 범주형 데이터 분리 
n_train = train.select_dtypes(exclude='object').copy()
c_train = train.select_dtypes(include='object').copy()
n_test = test.select_dtypes(exclude='object').copy()
c_test = test.select_dtypes(include='object').copy()

# 수치형 변수 스케일링 (로버스트)
from sklearn.preprocessing import RobustScaler
scaler = RobustScaler()
cols = ['Age', 'AnnualIncome', 'FamilyMembers', 'ChronicDiseases']

display(n_train.head())
n_train[cols] = scaler.fit_transform(n_train[cols])
n_test[cols] = scaler.transform(n_test[cols])
n_train.head()

# 범주형 변수 인코딩(원핫 인코딩)
display(c_train.head())
c_train = pd.get_dummies(c_train)
c_test = pd.get_dummies(c_test)
c_train.head()

# 분리한 데이터 다시 합침
train = pd.concat([n_train, c_train], axis=1)
test = pd.concat([n_test, c_test], axis=1)
print(train.shape, test.shape)
train.head()

수치형/범주형 데이터 분리를 시행하는데,

무조건 분리 후 시행해야 하는지 질문드립니다.

답변 1

1

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

아닙니다. 분리하지 않고 train = pd.get_dummies(train) 으로 그대로 사용해주세요:)

4회 이후 기출 유형풀이에서는 분리하지 않고 설명하고 있어요!

 

why?

기초 과정에서 이렇게 다뤘던 이유는 추후 문제 난이도가 올라가면서 수치형이지만 범주형 데이터인 문제들이 출제 되는 것을 감안했던 것이었는데 작업형2의 경우 아직 고민해서 전처리할 정도의 난이도로 올라가진 않고 있어요!

고혜빈님의 프로필 이미지
고혜빈

작성한 질문수

질문하기