Page 34 -
P. 34

●   성별: 남성, 여성

                 ●   요일: 월, 화, 수, 목, 금, 토, 일
                 ●   국가: 미국, 영국, 중국, 일본 등

               신경망과 일부 머신 러닝 알고리즘은 숫자만 입력받을 수 있어 범주형 변수를 바로 사용할 수 없

               다. 따라서 범주형 변수를 머신 러닝에 사용하려면 반드시 전처리를 거쳐야 한다.
               범주형 변수를 숫자형 변수로 바꾸는 한 가지 방법으로 원핫 인코딩(one-hot encoding)을 사용할
               수 있다. 판다스는 원핫 인코딩을 get_dummies() 함수로 구현해 제공한다. 예를 들어 N개 범주 값

               을 담은 범주형 변수를 원핫 인코딩을 사용해 변환하면, 이진 특징 변수 N개를 얻을 수 있다. 다
               음 그림 1-16의 예시를 살펴보자.

                  그림 1-16 원핫 인코딩 적용 예
                범주형 특징 변수          이진 특징 변수


                          원핫 인코딩 적용




               원핫 인코딩으로 변환한 각 이진 변수는 1 또는 0 값을 가진다. 이진 변수 값이 1이면 범주형 변수
               값이 이 이진 변수에 해당하는 범주라는 의미다. 반대로 다른 범주라면 이진 변수 값은 0이 된다.
               이러한 변환 과정을 직접 구현하려면 꽤 번거롭겠지만 판다스 함수로 쉽게 적용할 수 있다. 먼저

               그림 1-16의 예시 데이터를 판다스 DataFrame으로 만들자.

                 df2 = pd.DataFrame({'Day': ['Monday','Tuesday','Wednesday',
                                             'Thursday','Friday','Saturday',
                                             'Sunday']})


               이 DataFrame을 출력한 결과는 다음 그림 1-17과 같다.

                  그림 1-17 원핫 인코딩에 사용할 예시 데이터














         46





     신경망교과서_07.indd   46                                                                     2020-05-19   오전 9:04:33
   29   30   31   32   33   34   35   36   37