[ML] 데이터 전처리 - 인코딩(Encoding)

Minjeong Kim·2025년 11월 28일

인공지능

목록 보기
7/50

데이터 전처리 중 인코딩에 정리한 페이지입니다.

  • One-Hot Encoding
  • Label Encoding

0. 개념

  • Encoding: 범주형 데이터를 숫자형 데이터로 변환
    • 예) Label Encoding, One-hot Encoding
  • Binning: 숫자형 데이터를 범주형 데이터로 변환 (= 범주화)

1. One-Hot Encoding

1.1. 개념

  • 하나의 컬럼 내의 unique 한 값들만큼 컬럼을 생성 -> 해당하면 1, 해당하지 않으면 0을 채우는 방식
  • 주로 우선순위가 없는 컬럼에 사용
    • 예) 호칭 Mr, Mrs, Miss 등
  • 단점: 컬럼이 길어짐 -> 희소행렬의 됨 (대부분 값이 0)

1.2. 사용방법

import pandas as pd
X_oneHot = pd.get_dummies(X)
  • 자동으로 문자열 컬럼만 인식해서 바꿔줌

2. Label Encoding

2.1. 개념

  • 레이블을 숫자로 mapping
  • 주로 컬럼 내 데이터의 우선순위가 있는 컬럼에 적용
    • 예: 사장, 부장, 과장, 선임, 주임
  • 직접 숫자를 매핑하여 적용, 영향을 많이 미치는 데이터에 큰 숫자를 매핑

2.2. 사용 방법

from sklearn.preprocessing import LabelEncoder
le = LabelEncoder()
train['col'] = le.fit_transform(train['col'])
test['col'] = le.transform(test['col'])
  • 주의사항
    • train과 test 의 class 종류가 다를 수 있으므로, train과 test 데이터를 합친 후 인코딩을 진행하는 등의 방식을 취해야 함

0개의 댓글