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 강의 내용을 정리한 것입니다.
'AI > 데이터분석' 카테고리의 다른 글
[pandas] DataFrame 숫자 데이터의 범주형 데이터화 (0) | 2020.02.23 |
---|---|
[pandas] DataFrame 숫자 데이터와 범주형 데이터 (0) | 2020.02.23 |
[pandas] DataFrame NaN 데이터 처리 (0) | 2020.02.18 |
[pandas] DataFrame column 간 상관관계 계산하기 (0) | 2020.02.18 |
[pandas] DataFrame에 새 column 추가 & 삭제 (0) | 2020.02.18 |