1. 학습
  2. /
  3. 강의
  4. /
  5. R로 배우는 Supervised Learning: 분류

Connected

연습 문제

이진 예측 만들기

이전 연습 문제에서 glm() 함수를 사용해 기부자 행동에 대한 로지스틱 회귀 모델을 만들었습니다. R의 여러 Machine Learning 메서드와 마찬가지로, 모델 객체에 predict() 함수를 적용해 향후 행동을 예측할 수 있습니다. 기본적으로 predict()는 type = "response"를 지정하지 않으면 예측값을 로그 오즈(log odds)로 반환합니다. 이 인수를 지정하면 로그 오즈가 확률(probabilities)로 변환됩니다.

로지스틱 회귀 모델은 결과의 확률을 추정하므로, 그 확률이 행동으로 이어진다고 판단할 임계값(threshold)은 사용자가 결정해야 합니다. 지나치게 조심스러움과 지나치게 공격적임 사이의 균형이 중요합니다. 예를 들어 기부 확률이 99% 이상인 사람에게만 요청한다면, 추정 확률은 낮지만 실제로는 기부할 많은 사람을 놓칠 수 있습니다. 특히 이 데이터셋처럼 기부가 상대적으로 드문, 심하게 불균형한 결과에서는 이 균형을 더욱 신중히 고려해야 합니다.

데이터셋 donors와 모델 donation_model이 제공되어 있습니다.

지침

100 XP
  • predict() 함수를 사용해 각 사람의 기부 확률을 추정하세요. 확률을 얻도록 type 인수를 지정하세요. 예측값은 donation_prob라는 새 열에 할당하세요.
  • donors 데이터 프레임에서 적절한 열을 mean() 함수에 전달해 평균적인 사람이 기부할 실제 확률을 구하세요.
  • 예측한 기부 확률이 평균보다 크면 기부한다고 예측하도록 ifelse()를 사용하세요. 예측값은 donation_pred라는 새 열에 할당하세요.
  • mean() 함수를 사용해 모델의 정확도를 계산하세요.