참새의 생존 확률 모델 적합하기
이번 연습에서는 혹독한 겨울 폭풍을 겪은 뒤 참새가 살아남을 확률을, 참새의 신체적 특성에 기반해 추정해 보겠습니다. 데이터셋 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"의 정도를 의미해요.
이 연습은 강의의 일부입니다
R로 하는 Supervised Learning: 회귀
연습 안내
- 영상에서 제안한 대로,
TRUE와FALSE결과에 대해 예측해 보겠습니다.status == "Survived"일 때 TRUE가 되도록sparrow데이터 프레임에 새로운 열survived를 만드세요. - 관심 변수를 사용해
survived를 종속 변수로 하는 수식fmla를 만드세요. 그리고 출력하세요. - 참새의 생존 확률을 예측하는 로지스틱 회귀 모델을 적합하세요. 모델을 변수
sparrow_model에 할당하세요. summary()를 호출해 계수, deviance, null deviance를 확인하세요.- 모델에
glance()를 호출해 deviance와 기타 진단 지표를 데이터 프레임 형태로 보세요.glance()출력은 변수perf에 할당하세요. - pseudo-$R^2$를 계산하세요.
실습형 인터랙티브 연습
이 예제를 이 샘플 코드를 완성하여 풀어보세요.
# sparrow is available
summary(sparrow)
# Create the survived column
sparrow$survived <- ___
# Create the formula
(fmla <- _____)
# Fit the logistic regression model
sparrow_model <- ___
# Call summary
___
# Call glance
(perf <- ___)
# Calculate pseudo-R-squared
(pseudoR2 <- ___)