데이터 분석과 머신러닝에서 범주형 데이터(Categorical Data)를 수치형 데이터로 변환하는 것은 필수적인 과정이다.
왜냐하면 많은 머신러닝 알고리즘이 수치형 데이터만을 처리할 수 있기 때문..!
이 변환 과정을 수행하는 대표적인 방법이
One-hot 인코딩
과Label 인코딩
이라고 할 수 있다.
정의:
One-hot 인코딩은 범주형 변수의 각 고유값을 이진 벡터로 변환하는 방법이다.
각 벡터는 범주 고유값에 해당하는 위치에만 1을, 나머지에는 0을 가진다.
예시:
사용 시점:
One-hot 인코딩은 범주형 변수의 고유값들이 순서나 순위와 무관할 때 사용된다.
특히, gradient 기반 알고리즘(예: 신경망)에서 주로 사용하는데, 이 방법은 모든 범주 간의 거리를 동일하게 취급하고, 순서 간의 관계를 왜곡하지 않는다.
정의: Label 인코딩은 범주형 변수의 각 고유값을 정수로 변환하는 방법이다.
고유값들은 0부터 N-1까지의 정수로 매핑된다.(N은 유니크한 범주의 수).
예시:
사용 시점: Label 인코딩은 범주형 데이터가 순서가 있는 경우(예: "Low", "Medium", "High")에 유용하다.
그러나 순서나 순위가 없는 데이터를 Label 인코딩할 경우 문제가 생길 수 있는데, 예를 들어 머신러닝 모델은 "Red"와 "Blue"의 차이를 "Blue"와 "Green"의 차이보다 작다고 해석할 수 있기에 주의해야 한다.
차이점:
적용 근거: