프로그래밍 공부
카테고리
작성일
2024. 6. 13. 20:46
작성자
WDmil
728x90

범주형 값(Categrical Value)을 이진화된 값 으로 바꿔서 표현하는것 을 말한다.

 

범주형 값은 예를 들어 "개", "고양이", "말" 이런 3가지 범주형 데이터가 있을 떄, 이를 개 = 1, 고양이 = 2 말 = 3 이라고 단순하게 integer Encoding으로 변환하여 표현한다.



이에 반해 One-hot Encoding을 사용하면 범주형 데이터를 개 = [1 0 0], 고양이 = [0 1 0], 말 = [0 0 1] 형태로 해당 레이블을 나타내는 인덱스만 1의 값을 가지고 나머지 부분은 0의 값을 가진 Binary Value로 표현한다.

 

단순한 InregerEncoding의 문제점은 머신러닝 알고리즘의 정수 값으로부터 잘못된 경향성을 학습하게 될 수도 있다.

예를들어, Integer Encoding을 사용할경우 머신러닝 알고리즘이 개 = 1 말 = 3의 평균 = 2 로 고양이라고 학습할 수도 있기 떄문,

 

이에 따라 보통 알고리즘을 구현할 때 타겟 데이터를 One-Hot-Encoding형태로 벡터형태로 N차원으로 만들어 표현하게 된다.

 

 

728x90