Encoding

1. Definition

  • Encoding is transformation of categorical variables(Ordinal, Nominal) to binary or numerical counterparts. -> 연산을 편하게 하고, feature들 간 비교가 가능해지는 경우가 있다.
  • ex) One-Hot-Encoding, Mean Encoding, Ordinal Encoding, Label Encoding, Binary Encoding, Target Encoding, Dummy Encoding, Hash Encoding et al...

2. Techniques

1. One Hot Encoding


(사진 출처 : https://www.r-bloggers.com/2019/07/how-to-use-recipes-package-from-tidymodels-for-one-hot-encoding-%F0%9F%9B%A0/)

  • feature의 cardinality가 많아지면 너무 복잡해진다.

2. Mean Encoding


(사진 출처 : https://medium.datadriveninvestor.com/improve-your-classification-models-using-mean-target-encoding-a3d573df31e8)
(Moscow = 2/5 = 0.4, Tver = 3/4 = 0.75 반올림 0.8)

  • Target feaure에 대해서 어떤 variable의 mean을 확률 값으로 구한다.
  • Target과 variable간의 수치적 관계를 Categorical variables에서도 찾을 수 있게 해준다.
  • overfitting이 자주 일어날 수 있으므로 cross validataion이 필요하다.

3. Label Encoding


(사진 출처 : https://medium.com/@chexki_/using-label-encoder-on-unbalanced-categorical-data-in-machine-learning-using-python-435f521323b1)

  • 위와 같이 아무 정수나 부여하는 것이다.
  • 가장 간단하지만 cardinality간의 관계는 나타낼 수 없다.

4. Ordinal Encoding


(사진 출처 : https://medium.com/nerd-for-tech/nominal-and-ordinal-encoding-in-data-science-c93872601f16)

  • 모든 unique category value는 integer value로 할당된다.
  • Label Encoding과 유사해 보이지만 이 접근법은 categorical valuenumerical values in ordered sets으로 변한다.
  • 위의 예와 같이 고객의 만족도를 Encoding하는 경우에는 순서의 상관없는 Label Encoding 보다는 Ordinal Encoding이 더 적합할 것이다.

5. Hash Encoding



(사진 출처 : https://www.analyticsvidhya.com/blog/2020/08/types-of-categorical-data-encoding/)

  • One-way process인 Hash를 사용하여 Encoding 한다.

6. Binary Encoding



(사진 출처 : https://www.analyticsvidhya.com/blog/2020/08/types-of-categorical-data-encoding/)

  • Hash와 One-hot encoding을 합친 형태이다.
  • categorical feature -> numerical feature -> ordinal encoder를 사용하는 process를 거친다. 그 다음 binary number로 변하고, 그 value는 다른 columns로 쪼개진다.
  • one-hot encoding 보다 더 적은 feature를 사용하는 Memory-efficient scheme이다.
  • high cardinality 때문에 발생하는 curse of dimensionality를 감소시킨다.

7. Dummy Encoding


(사진 출처 : https://www.analyticsvidhya.com/blog/2020/08/types-of-categorical-data-encoding/)

  • one-hot encoding이랑 방식이 유사하지만 one-hot encoding은 N categories가 있는 variable을 나타내기 위해 N개의 binary variables를 사용하지만, dummy encoding은 N labels/categories를 나타내기 위해 N-1 features를 사용한다.
profile
https://github.com/Coaspe

0개의 댓글