비금융 데이터 그 중에서 업종별 이용 금액과 횟수에 중점을 두어연체 위험도를 예측하는 과제에서
모델을 돌리기 전에 one hot encoder, ordinal encoder, standard scaling, PCA를 사용해서
모델이 쉽게 데이터를 이해하도록 수정하였는데요.
제가 one hot encoder, ordinal encoder를 직접 수행하지 않았다 보니 헷갈리는 부분이 많아
정리해보려고 합니다.
OrdinalEncoder
from sklearn.preprocessing import OrdinalEncoder
data = [['low'], ['medium'], ['high']]
encoder = OrdinalEncoder()
encoded_data = encoder.fit_transform(data)
print(encoded_data)
LabelEncoder
from sklearn.preprocessing import LabelEncoder
data = ['cat', 'dog', 'fish']
encoder = LabelEncoder()
encoded_data = encoder.fit_transform(data)
print(encoded_data)
OneHotEncoder
from sklearn.preprocessing import OneHotEncoder
data = [['red'], ['green'], ['blue']]
encoder = OneHotEncoder()
encoded_data = encoder.fit_transform(data).toarray()
print(encoded_data)
종합
인코더 | 용도 | 순서 고려 | 입력 데이터 형식 | 출력 데이터 형식 |
OrdinalEncoder | 독립 변수를 정수로 변환 | 순서를 고려할 수 있음 | 2차원 배열 또는 데이터프레임 | 정수 값으로 변환된 2차원 배열 또는 데이터프레임 |
LabelEncoder | 주로 타깃 변수를 정수로 변환 | 순서 고려하지 않음 | 1차원 배열 또는 리스트 | 정수 값으로 변환된 1차원 배열 |
OneHotEncoder | 독립 변수를 원-핫 벡터로 변환 | 순서 고려하지 않음 | 2차원 배열 또는 데이터프레임 | 원-핫 인코딩된 2차원 배열 또는 희소 행렬 |
참고 자료
https://velog.io/@malangcow/OrdinalEncoder%EC%99%80-OneHotEncoder%EC%9D%98-%EC%B0%A8%EC%9D%B4
OrdinalEncoder와 OneHotEncoder의 차이
OrdinalEncoder와 OneHotEncoder는 범주형 데이터를 수치형 데이터로 변환하는 인코딩 방법 중 두 가지입니다. 그러나 두 방법 간에는 중요한 차이점이 있습니다.OneHotEncoder는 범주형 데이터의 카테고리
velog.io
https://stackoverflow.com/questions/50473381/scikit-learns-labelbinarizer-vs-onehotencoder
Scikit-learn's LabelBinarizer vs. OneHotEncoder
What is the difference between the two? It seems that both create new columns, which their number is equal to the number of unique categories in the feature. Then they assign 0 and 1 to data points
stackoverflow.com
Deep Learning 공부하기 ( 1 ) (7) | 2024.09.19 |
---|---|
한국 경제신문 with toss bank - 중간 프로젝트_( 3 ) (5) | 2024.09.08 |
한국 경제신문 with toss bank - 중간 프로젝트_( 1 ) (4) | 2024.09.01 |
랜덤 포레스트 ( Random Forest ) (0) | 2024.08.29 |
Git 기본 개념 이해하고 관리하기 (2) | 2024.08.29 |