머신러닝 전처리, Categorical variable 처리법
회귀분석 모델이 제대로 작동하기 위해서는 변수값들이 서로 order를 가져야만 한다. 하지만 categorical variable은 모델이 사용할만큼 그 order가 명시적이지 않다. categorical variable는 두가지로 나뉠 수 있다. 하나는 category 사이에 order가 있는경우, 나머지는 그렇지 못한 경우다. 전자의 경우는 각 category를 해당하는 order로 encoding하는 방법이 있다. 후자의 경우도 조금 복잡한 전처리 과정을 거쳐서 모델이 사용가능한 데이터로 encoding이 가능하다.
방법 1: Drop
그냥 버려서 모델에 노이즈로 작용하지 않게 한다.
방법 2: Ordinal Encoding
category가 자체적인 order를 가진 경우에만 사용가능한 방법이다. 각 category를 해당하는 order로 encoding 한다.
방법 3 : One-Hot Encoding
category가 order를 가지지 않는 경우를 위한 방법이다. 각 category별로 column을 만들고 column의 value가 (original value == category)에 대한 boolean value를 가지도록 encoding 한다. 이러면 각 column은 boolean value를 가지기 때문에 회귀분석모델에서 충분히 이용 가능하다. 다만 category 수가 많아지면 data의 column이 너무 많아지게 된다.
댓글
댓글 쓰기