본문 바로가기
IT 공부/Machine Learning

머신 러닝 학습 5. 범주형 데이터 (Categorial Variable)

by 랜턴K 2024. 7. 1.
반응형

카테코리얼 변수는, 말 그대로 변수의 값이 한정된 경우를 말한다.

가령, 설문조사의 만족도 조사는 아래의 5가지 정도에서 한정된다

 - 매우 좋다

 - 좋다

 - 보통

 - 좋지 않다

 - 매우 좋지 않다 

 

카테고리얼 변수를 포함하여 머신러닝에서 학습시키고자 할 때, 

총 3가지 전략을 세울 수 있다. 

1. 카테고리얼 변수에 해당하는 칼럼을 드롭한다 

2. ordinal encoding 

3. one hot encoding 

이 중 1번은 알아볼 필요가 없을 것 같고,

2/3번의 경우는 카테고리얼 변수의 형태에 따라 선택할 수 있다. 

 

 

Ordinal Encoding은, 맨 위의 예시처럼 범주형 변수가 순서를 가질 때 사용할 수 있다.

예컨데, 매우좋다에 5점을, 보통에 3점을, 매우 좋지 않다에 1점을 부여하는 것이다.

데이터프레임 측면에서 보자면,

object로 구성되었던 칼럼이 number로 구성된 칼럼으로 1:1 대체되는 것이다. 

 

One-hot Encoding은 반대로, 범주형 변수가 순서를 가지지 않을 때 사용할 수 있다. 

예컨데, 당신이 가장 좋아하는 자동차 브랜드는? 이라는 설문조사 질문의 답변으로

[현대, 기아, GM, 포드, 폭스바겐 ...] 등이 올 수 있다.

이런 데이터는 순서가 없기 때문에, Ordinal Encoding의 경우처럼 숫자로 대체할 수가 없다. 

대신에, '당신이 가장 좋아하는 자동차 브랜드는?' 칼럼을 여러개로 쪼갠다면 어떨까? 

현대-칼럼, 기아-칼럼, GM-칼럼, 포드-칼럼... N개의 칼럼을 생성하고 선택 여부에 따라 1,0을 입력한다.

즉, 데이터 프레임 측면에서 1개의 object로 구성된 칼럼이  

그 칼럼이 포함하고 있는 변수의 종류 N개의 칼럼으로 1:N 치환되는 것이다. 

 

One-hot-coding은 만능은 아닌데, 아래의 문제점을 포함한다. 

1. 칼럼이 증가하므로, 차원이 증가한다. 따라서 계산비용과 메모리 사용량이 늘어난다

2. 대다수의 열이 0으로 채워진 희소 행렬이 만들어져서 비효율적이다

3. 칼럼을 잘게 나눌수록 과적합의 위험이 함께 커진다. 

반응형

'IT 공부 > Machine Learning' 카테고리의 다른 글

머신 러닝 학습_4  (0) 2024.06.25
머신 러닝 학습_3  (0) 2024.06.20
머신 러닝 학습_2  (0) 2024.06.18
머신러닝 학습_1  (0) 2024.06.17
머신 러닝 공부 시작  (1) 2024.06.16