원-핫 인코딩은 범주형 데이터를 숫자형 데이터로 변환하는 기법입니다. scikit-learn은 파이썬에서 머신러닝 모델을 구축하기 위한 라이브러리로, 다양한 데이터 전처리 기능을 제공합니다. scikit-learn을 사용하여 원-핫 인코딩을 쉽게 수행할 수 있습니다. 이번 포스트에서는 scikit-learn을 활용하여 원-핫 인코딩을 수행하는 방법에 대해 알아보겠습니다.
필요한 라이브러리 설치하기
scikit-learn을 사용하기 위해 우선 해당 라이브러리를 설치해야 합니다. 아래 명령어를 사용하여 설치할 수 있습니다.
pip install scikit-learn
데이터 준비하기
원-핫 인코딩을 수행하기 위해 변환할 범주형 데이터를 준비해야 합니다. 예를 들어, 다음과 같은 간단한 데이터셋을 사용하겠습니다.
import pandas as pd
data = pd.DataFrame({'fruit': ['apple', 'banana', 'orange', 'banana']})
위 코드에서는 ‘fruit’이라는 열에 과일 이름을 포함한 데이터프레임을 생성했습니다.
원-핫 인코딩 수행하기
이제 scikit-learn을 사용하여 원-핫 인코딩을 수행해보겠습니다. 다음과 같은 코드를 사용할 수 있습니다.
from sklearn.preprocessing import OneHotEncoder
encoder = OneHotEncoder(sparse=False)
encoded_data = encoder.fit_transform(data)
위 코드에서는 OneHotEncoder 클래스를 사용하여 데이터를 변환한 후, fit_transform 메서드를 사용하여 데이터를 변환합니다.
결과 확인하기
인코딩된 데이터를 확인해보겠습니다.
print(encoded_data)
위 코드를 실행하면 다음과 같은 결과가 출력됩니다.
[[1. 0. 0.]
[0. 0. 1.]
[0. 1. 0.]
[0. 0. 1.]]
위 결과에서 각 열은 범주형 데이터의 카테고리를 나타내며, 해당하는 카테고리에는 1의 값을 가지고 나머지 카테고리에는 0의 값을 가집니다.
결론
scikit-learn을 사용하여 원-핫 인코딩을 손쉽게 수행할 수 있습니다. 원-핫 인코딩은 범주형 데이터를 숫자형 데이터로 변환하는 중요한 전처리 기법 중 하나입니다. scikit-learn은 이를 지원하는 강력한 라이브러리이며, 위 예시를 참고하여 직접 적용해보시기 바랍니다.
참고자료
- scikit-learn 공식 문서: https://scikit-learn.org/