pandas의 get_dummies() 함수
- 간단하게 사용할 수 있어서 코드를 직관적으로 이해하기 쉽습니다.
- 텍스트 데이터를 바로 변환할 수 있기 때문에, 전처리 과정이 단순화됩니다.
- 범주형 변수의 각 카테고리를 독립적인 새로운 특성으로 인코딩합니다.
- 범주형 변수에 대해 원핫인코딩을 적용하면 새로운 열이 추가되기 때문에, 데이터프레임의 컬럼 수가 늘어납니다.
- 누락된 값(결측치)을 처리하는 dummy_na 매개변수를 제공합니다.
sklearn의 OneHotEncoder
- 희소행렬을 반환하므로, 메모리 사용량이 줄어듭니다.
- 범주형 변수의 각 카테고리를 독립적인 새로운 특성으로 인코딩합니다.
- get_dummies() 함수와는 달리, 범주형 변수의 각 카테고리를 문자열로 인코딩할 수 없으므로, 사전에 정수 인코딩을 해야합니다.
- 변환된 범주형 변수는 원본 변수와 다른 이름을 갖게 됩니다.
- 변환된 범주형 변수는 다른 Scikit-learn 추정기와 함께 사용하기 쉽습니다.
따라서, get_dummies() 함수는 데이터프레임 내에서 범주형 변수에 대한 더미 변수를 생성하기 위한 일반적인 방법입니다. 반면에, OneHotEncoder는 Scikit-learn의 다른 추정기와 함께 사용하기 위한 것입니다.
import pandas as pd
from sklearn.preprocessing import OneHotEncoder
# 예시 데이터
df = pd.DataFrame({
'color': ['red', 'blue', 'green', 'red', 'blue', 'green'],
'size': ['S', 'M', 'L', 'M', 'S', 'L']
})
# pandas의 get_dummies() 함수를 이용한 원핫인코딩
df_ohe = pd.get_dummies(df, columns=['color', 'size'])
# sklearn의 OneHotEncoder를 이용한 원핫인코딩
encoder = OneHotEncoder()
X = encoder.fit_transform(df[['color', 'size']])
df_ohe = pd.DataFrame(X.toarray(), columns=encoder.get_feature_names())
'Python > IBA' 카테고리의 다른 글
7주차 군집화 공부 (0) | 2023.05.12 |
---|---|
회귀모델링 (0) | 2023.05.08 |
[Chat GPT] No module named 'google.colab' 주피터 오류 (0) | 2023.03.20 |
공부공부 (0) | 2023.03.06 |