범주형 입력 변수

R로 하는 Supervised Learning: 회귀

Nina Zumel and John Mount

Win-Vector, LLC

예시: 식단이 체중 감량에 미치는 효과

WtLoss24 ~ Diet + Age + BMI
Diet Age BMI WtLoss24
Med 59 30.67 -6.7
Low-Carb 48 29.59 8.4
Low-Fat 52 32.9 6.3
Med 53 28.92 8.3
Low-Fat 47 30.20 6.3
R로 하는 Supervised Learning: 회귀

model.matrix()

model.matrix(WtLoss24 ~ Diet + Age + BMI, data = diet)
  • 모든 값이 수치형
  • N개의 수준을 가진 범주형 변수를 N - 1개의 지시 변수로 변환
R로 하는 Supervised Learning: 회귀

범주를 나타내는 지시 변수

원본 데이터

Diet Age ...
Med 59 ...
Low-Carb 48 ...
Low-Fat 52 ...
Med 53 ...
Low-Fat 47 ...

모델 행렬

(Int) DietLow-Fat DietMed ...
1 0 1 ...
1 0 0 ...
1 1 0 ...
1 0 1 ...
1 1 0 ...
  • 기준 수준: "Low-Carb"
R로 하는 Supervised Learning: 회귀

지시 변수 해석

선형 모델:

$$ WtLoss24 = \beta_{0} + \beta_{DietLow} x_{DietLow} + \beta_{DietMed} x_{DietMed} + \beta_{Age} x_{Age} + \beta_{BMI} x_{BMI} $$

lm(WtLoss24 ~ Diet + Age + BMI, data = diet))
Coefficients:
      (Intercept)        DietLow-Fat     DietMed  
         -1.37149           -2.32130    -0.97883  
              Age                BMI  
          0.12648            0.01262
R로 하는 Supervised Learning: 회귀

원-핫 인코딩의 문제점

  • 수준이 너무 많으면 문제가 될 수 있음
    • 예: 우편번호 (약 40,000개)
  • 기하학적 방법으로 해싱하지 말 것!
R로 하는 Supervised Learning: 회귀

연습해 봅시다!

R로 하는 Supervised Learning: 회귀

Preparing Video For Download...