PYTHON/Pandas 판다스
[PYTHON] One-Hot Encoding - 가변수(Dummy Variable) 만들기
G허니
2024. 3. 10. 23:20
가변수 또는 더미 변수는 범주형 데이터를 수치형으로 변환하는 데 사용되는 중요한 개념 중 하나입니다. 이를 통해 기계 학습 모델이 범주형 데이터를 이해하고 처리할 수 있게 됩니다. One-Hot-Encoding은 가변수를 만드는 흔한 방법 중 하나입니다.
One-Hot-Encoding이란?
One-Hot-Encoding은 범주형 변수를 0 또는 1의 이진 값으로 변환하는 프로세스입니다. 이는 해당하는 범주에 속하면 1로, 그렇지 않으면 0으로 표시됩니다. 예를 들어, '색깔'이라는 범주형 변수가 있다면, '빨강' 또는 '노랑', '초록'인 경우 해당 변수를 3 개의 변수로 분리하여 표현합니다.
One-Hot-Encoding의 필요성
기계 학습 모델은 수치형 데이터를 더 잘 처리할 수 있습니다. 그러나 많은 실제 데이터는 범주형 변수를 포함하고 있습니다. 따라서 범주형 변수를 수치형 변수로 변환하는 것은 모델의 성능을 향상시키는 중요한 단계 중 하나입니다. One-Hot-Encoding은 범주형 변수의 각 범주를 독립적인 이진 변수로 변환하여 이를 실현합니다.
One-Hot-Encoding 사용 예시
import pandas as pd
# One-Hot-Encoding 적용
df = pd.get_dummies(tip, columns=['sex'], drop_first=True, dtype=int)
위 코드에서 pd.get_dummies() 함수를 사용하여 'sex' 열을 기준으로 One-Hot-Encoding을 적용했습니다. drop_first=True 매개변수를 사용하여 첫 번째 범주를 삭제하고 가변수를 생성했습니다.
이렇게 가변수를 만들면 '남성' 또는 '여성'의 정보를 0 또는 1의 이진 값으로 표현하여 모델이 이해하기 쉽게 합니다. 이러한 방법을 통해 범주형 데이터를 효과적으로 처리할 수 있습니다.