본문 바로가기
Study/Machine learning

[Machine learning] label encoding VS one-hot encoding 언제 뭘 써야하나.

by 후이 (hui) 2020. 7. 25.
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
반응형

댓글