본문 바로가기

🤖AI/머신러닝

[머신러닝] 원핫인코딩(One-hot Encoding)

종속변수가 범주형 데이터인 경우 숫자가 아니므로 수식에 대입할 수 없다.

따라서 범주형 데이터는 수식에 사용할 수 있는 데이터로 바꾸는 과정을 거쳐야 한다.

범주형 데이터를 0 또는 1의 데이터로 바꿔주는 과정을 원핫인코딩이라고 한다.

 

하나의 단어를 vector의 Index로 인식해서 단어가 존재하면 1, 없으면 0으로 나타낸다.

문서에서 단어가 n개 있다면 n size의 list를 만들어줘서 나타낸다.

 

pandas에서는 pd.get_dummies() 한 줄로 원핫인코딩을 수행할 수 있다.

 

type이 object나 category인 경우에만 원핫인코딩이 가능하다.

숫자인 경우에는 적용되지 않는다.

type이 숫자인 경우에는 type을 범주형으로 바꿔줘야한다.

 

NaN : Not available -> 평균값을 넣어준다.

 

Bag of words

:단어별로 인덱스를 부여해서, 한 문장(또는 문서)의 단어의 개수를 vector로 표현