AI & ML/Machine Learning (Python)
피처 스케일링(Feature Scaling) - Encode(Label/Onehot)
luvris2
2022. 5. 6. 16:16
반응형

# 카테고리컬 인코딩
- 컴퓨터는 텍스트를 인식 할 수 없기 때문에 데이터들을 숫자로 바꿔주는 작업
- 카테고리컬 인코딩의 종류 종류
- 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이 적용. 지정되지 않은 열은 삭제
- ColumnTransformer
- ct.fit_transform(데이터셋) : 데이터셋을 원핫인코딩으로 피처 스케일링

반응형