😏레이블 인코딩

레이블인코딩label encording은 범주형 데이터를 숫자로 일대일 매칭해주는 인코딩 방식입니다.
범주형 데이터를 숫자로 치환하는 겁니다. 사이킷런의 LabelEncoder로 구현할 수 이습니다.

레이블 인코딩을 적용해 과일 문자열 데이터를 숫자형으로 변환하는 코드입니다.

from sklearn.preprocessing import LabelEncoder # 레이블 인코더

fruits = ['사과', '블루베리', '바나나', '귤', '블루베리', '바나나', '바나나', '사과']

# 레이블 인코더 생성
label_encoder = LabelEncoder()
# 레이블 인코딩 적용
fruits_label_encoded = label_encoder.fit_transform(fruits)

print('레이블 인코딩 적용 후 데이터:', fruits_label_encoded)

레이블 인코딩 적용 후 데이터: [3 2 1 0 2 1 1 3]

단점

명목형 데이터를 레이블 인코딩하면 모델 성능이 떨어질 수 있습니다. 머신러닝 모델이 서로 가까운 숫자를 비슷한 데이터라고 판단하기 때문입니다. 머신러닝 모델은 1(바나나)와 3(사과)보다 1(바나나)과 2(블루베리)를 더 비슷한 데이터라고 인식합니다. 이러한 단점을 해결하는 원-핫 인코딩입니다.

==> 원-핫 인코딩