[Pandas] DataFrame 범주형 데이터 전처리 (one-hot encoding)

|

One-hot encoding

범주형 데이터는 분석 단계에서 계산이 어렵기 때문에 숫자형으로 변경이 필요함.

범주형 데이터의 각 범주(category)를 column 레벨로 변경

해당 범주에 해당하면 1, 아니면 0으로 채우는 인코딩 기법

Pandas.get_dummies 함수 사용

drop_first : 첫번째 카테고리 값은 사용하지 않음.

전체 데이터에 대해서 pd.get_dummies를 적용시키면 기본적으로

숫자형이 아닌 모든 컬럼들에 대해서 원핫인코딩(one-hot encoding)을 진행한다.


pd.get_dummies( data, prefix=None, prefix_sep=’_’, dummy_na=False, columns =None,

sparse=False, drop_first=False, dtype=None, )

columns를 통해 원하는 컬럼만 적용을 해보자.

Pclass, Sex, Embarked에 대해서만 적용을 시도하면 다음과 같은 결과를 뱉는다.


pd.get_dummies( data, prefix=None, prefix_sep=’_’, dummy_na=False, columns=None,

sparse=False, drop_first =False, dtype=None, )

drop_first를 True로 설정하면 첫번째 카테고리 값은 사용하지 않는다.

즉, 위에서 볼 수 있듯이 Pclass_1이 사라졌다.

이는 Pclass_2와 Pclass_3이 둘다 0 이면 Pclass_1임을 알 수 있기 때문에

없앨 수 있다는 것이다.

위 내용은 fastcampus 강의 내용을 정리한 것입니다.

Comments