데이터 인코딩
- 머신러닝 알고리즘은 문자열 데이터 속성을 입력 받지 않는다.
- 문자형 카테고리형 속성은 모두 숫자값으로 변환/인코딩 되어야 한다.
- 레이블(Label)인코딩
- 원-핫(One-Hot)인코딩
레이블 인코딩 ( Label Encoding )
# Target(Label)에만 적용해야 합니다.
targets = ["청바지", "치마", "청바지", "원피스", "청바지", "치마", "치마", "청바지", "원피스"]
#LabelEncoder란 범주형 데이터를 수치형 데이터로 변환 하는데 사용합니다.
#범주형 데이터 ( 예 : 문자열 라벨 ) 를 숫자형 라벨로 인코딩.
from sklearn.preprocessing import LabelEncoder
#LabelEncoder라는 객체를 생성
lbl_encoder = LabelEncoder()
lbl_encoder.fit(targets)
lbl_encoder.classes_
# 결과 ==> array(['원피스', '청바지', '치마'], dtype='<U3')
encoded_targets = lbl_encoder.transform(targets)
encoded_targets
# 결과 ==>array([1, 2, 1, 0, 1, 2, 2, 1, 0])
target
# 결과 ==> ['청바지', '치마', '청바지', '원피스', '청바지', '치마', '치마', '청바지', '원피스']
** 위 코드랑 캡쳐본이 다를수잇음 **
전처리 = 데이터를 변형( Transformation ) 시키는 작업. 데이터의 변형을 일으키는 클래스는 Transformer.
차이점 = Transformation은 데이터를 더 적합한 형태로 만드는 작업을 의미
Transformer 는 Transformation을 수행하는도구나 객체. 사이킷런에서 변형을 수행하는 클래스.
원-핫 (One-Hot) 인코딩
- Feature의 유형에 따라 새로운 Feature를 추가해 고유 값에 해당하는 컬럼에만 1을표시.
- 나머지 컬럼에는 0을 표시
Feature Scaling
'한국경제신문(toss bank)' 카테고리의 다른 글
Text Vectorization ( 데이터 -> 수치변환) (0) | 2024.09.04 |
---|---|
K-Means 군집 (0) | 2024.08.05 |
데이터 세트 훈련 교차 검증 (KFold, Stratified, cross_val_score,GridSearchCV) (0) | 2024.08.01 |
데이터 세트 분리, 모델 학습(fit), 예측 수행(predict), 평가(evaluate) (0) | 2024.07.31 |
머신러닝 모델링 프로세스 iris dataset 활용 (0) | 2024.07.31 |