피처 스케일링(Feature Scaling) - Encode(Label/Onehot)

반응형

# 카테고리컬 인코딩

  • 컴퓨터는 텍스트를 인식 할 수 없기 때문에 데이터들을 숫자로 바꿔주는 작업
  • 카테고리컬 인코딩의 종류 종류
    • Label Encoding : 카테고리컬 데이터를 숫자로 변환, 0부터 넘버링, 3개 이상일 경우 성능이 떨어짐
    • One-Hot Encoding : 카테고리컬 데이터를 0과 1의 숫자로 변환, 3개 이상의 카테고리컬 데이터일 경우 사용

 

# 라이브러리 호출

import matplotlib.pyplot as plt # 표를 만들기 위한 라이브러리
import pandas # 데이터프레임을 사용하기 위한 라이브러리
from sklearn.preprocessing import LabelEncoder, OneHotEncoder # 인코더를 사용하기 위한 라이브러리
from sklearn.compose import ColumnTransformer # 데이터셋 가공을 위한 라이브러리

 

# LabelEncoder

  • 변수 = LabelEncoder() : 변수에 레이블인코딩 선언
  • 변수.fit_transform( 데이터셋 ) : 데이터셋을 숫자로 변환

  

# OneHotEncoder

  • ct = ColumnTransformer( [ ('이름', OneHotEncoder(), [인덱스번호] )  ] , remainder='passthrough' )
    • ColumnTransformer
      • 열의 데이터셋을 자르거나 합치는 등의 작업을 수행하게 해주는 함수
      • CoumnTransformer( 이름, 함수, 사용 할 컬럼, remainder='passthrough')
        • remainder='passthrough' : 지정되지 않은 열들은 그대로 통과
        • remainder='drop' : 기본 값, 설정하지 않으면 drop이 적용. 지정되지 않은 열은 삭제
  • ct.fit_transform(데이터셋) : 데이터셋을 원핫인코딩으로 피처 스케일링

 

반응형