728x90
반응형
1. 인코딩이 필요한 이유
우리는 어떤 라벨 정보를 텍스트로 넣을 수 없다. 숫자화, 벡터화 시켜야 한다. 따라서 이를 숫자로 인코딩! 시켜줘야하는데 그 방법에 따라
label encoding 과 one-hot encoding 로 나뉜다.
2. 예시
가령 타이타닉 생존자 데이터에서 타이타닉호의 좌석 등급을 예로 들자면
우리는 모델에 first class, second class, third class 를 각각 숫자로 인코딩하여 입력시켜줘야한다.
종류 | first class | second class | third class |
label encoding | 1 | 2 | 3 |
one-hot encoding | [1,0,0] | [0,1,0] | [0,0,1] |
원핫 인코딩은 라벨 개수가 입력 차원이 된다. 예시는 3가지 클래스로 나눠지기 때문에 원핫인코딩 결과는 01 로 이루어진 3차원 벡터이다.
3. *** 그렇다면 언제 뭘 써야하는가. 각 방법의 장단점/특징 정리
선형 모델 : one-hot encoding
트리 기반 비선형 모델 : label encoding
1) 선형 모델
중요한 건 선형 모델에서 label encoding 은 위험하다.
학습 모델이 1,2,3 이라는 숫자를 각각의 클래스가 아니라, 연속된 대소관계의 수치로 인식할 수 있기 때문에!
(어렵게 설명하면 : 이산형 자료 가 아니라 연속형 자료로 인식)
2) 트리 기반 비선형 모델
비선형 모델에서는 라벨 인코딩이 용이하다. 트리 기반 비선형 모델은 특정 라벨값의 대소로 분기점을 나눈다.
728x90
반응형
댓글