중요한 점은 훈련 세트와 테스트 세트의 변환 방법을 동일하게 가져가야 한다는 점이다.
연속형이 아닌 A, B, C와 같이 범주로 묶여있는 데이터를 말한다.
이 때, 순서가 있는 범주형과 순서가 없는 범주형을 구분.
성적은 A>B>C>D와 같은 관계가 성립하지만 색과 같은 red, blue, green과 같은 범주는 상하관계가 아닌 동등한 관계이다. 둘은 모두 범주형 데이터로 묶인다.
범주형 feature는 서뢔의 크기를 비교하기 어렵다.
하지만 컴퓨터는 숫자만 이해할 수 있다.
예를들어 색을 표현하는 feature를 숫자로 표현해보자.
| red | green | blue |
|---|---|---|
| 1 | 0 | 0 |
| 0 | 1 | 0 |
| 0 | 0 | 1 |
이런식으로 각 row가 해당하는 색에만 1을 표시하는 방법을 one hot encoding이라고 한다.
하지만 색이 아닌 성적 데이터와 같이 순서가 있는 데이터는 어떻게 처리할까?
A=4, B=3 와 같이 숫자로 치환이 가능하다면 원-핫 인코딩을 할 필요가 없을 수 있다.
하지만 정확하게 비례관계를 알기 어려운 경우도 있다.
| A>=x | B>=x | C>=x | D>=x |
|---|---|---|---|
| 1 | 0 | 0 | 0 |
| 1 | 1 | 0 | 0 |
| 1 | 1 | 1 | 0 |
그런경우 이런식으로 원핫인코딩을 할 수 있다. A 보다 작은, B보다 작은 과 같은 컬럼을 만드는 것이다.
만약 A를 표현하고 싶다면 A>=x 만 1을 표시한다. B를 표시하고 싶다면 A>=x와 B>=x 둘 다 1을 표시한다. 이런식으로 하면 정확한 비례관례를 알 수 없는 순서가 있는 범주형 데이터를 효괍적으로 표현할 수 있다.
4.4장에서는 다양한 scaler, normalizer 를 살펴 보겠다.
고등학교때 배웠던 z-score다.
살짝 해석을 해보자면 각각의 x값이 평균으로 부터 얼마나 떨어져 있는지는 표현하는 식이다. 이때 얼마나 떨어져 있는가를 표현하는 단위를 표준편차로 하는 것이다.
특성별로 데이터를 절댓값이 가장 큰 값으로 나눈다. (물론 절댓값으로 나눈다.)
때문에 특성의 최대값은 1이 되며 범위는 [-1,1]이 된다.