1. 학습
  2. /
  3. 강의
  4. /
  5. R로 하는 Supervised Learning: 회귀

Connected

연습 문제

참새의 생존 확률 모델 적합하기

이번 연습에서는 혹독한 겨울 폭풍을 겪은 뒤 참새가 살아남을 확률을, 참새의 신체적 특성에 기반해 추정해 보겠습니다. 데이터셋 sparrow는 미리 로드되어 있습니다. 예측할 결과 변수는 status("Survived", "Perished")입니다. 고려할 변수는 다음과 같습니다.

  • total_length: 부리 끝부터 꼬리 끝까지의 길이(mm)
  • weight: 무게(그램)
  • humerus : 상완골(날개를 몸통에 연결하는 "위팔뼈") 길이(인치)

glm()(docs)으로 로지스틱 회귀 모델을 만들 때는 family = binomial을 반드시 명시해야 한다는 점을 기억하세요:

glm(formula, data = data, family = binomial)

로지스틱 회귀 모델을 살펴보기 위해 summary()와 broom::glance()를 호출할 거예요. 여기서 확인할 진단 지표 중 하나는 $R^2$에 해당하는 pseudo-$R^2$입니다.

$$ pseudoR^2 = 1 - \frac{deviance}{null.deviance} $$

deviance는 분산과 유사한 개념으로, 범주형 데이터의 변동성을 나타내는 척도라고 볼 수 있어요. pseudo-$R^2$는 일반 회귀에서의 $R^2$와 유사하게, 회귀 모델이 설명하는 "분산(explained variance)"의 정도를 나타냅니다. pseudo-$R^2$는 모델이 설명하는 "deviance"의 정도를 의미해요.

지침

100 XP
  • 영상에서 제안한 대로, TRUE와 FALSE 결과에 대해 예측해 보겠습니다. status == "Survived"일 때 TRUE가 되도록 sparrow 데이터 프레임에 새로운 열 survived를 만드세요.
  • 관심 변수를 사용해 survived를 종속 변수로 하는 수식 fmla를 만드세요. 그리고 출력하세요.
  • 참새의 생존 확률을 예측하는 로지스틱 회귀 모델을 적합하세요. 모델을 변수 sparrow_model에 할당하세요.
  • summary()를 호출해 계수, deviance, null deviance를 확인하세요.
  • 모델에 glance()를 호출해 deviance와 기타 진단 지표를 데이터 프레임 형태로 보세요. glance() 출력은 변수 perf에 할당하세요.
  • pseudo-$R^2$를 계산하세요.