로지스틱 회귀 모델 비교를 위한 ROC 곡선
R의 pROC 패키지를 사용하면 ROC 곡선을 쉽게 만들 수 있어요. 이 강의 전반에서 사용했던 네 가지 로지스틱 회귀 모델의 ROC 곡선에 큰 차이가 있는지 살펴봅시다. 간단히 정리하면:
predictions_logit에는 기본 logit 링크를 사용해age,emp_cat,ir_cat,loan_amnt변수를 포함한 PD(probability of default) 예측값이 들어 있어요.predictions_probit에는 probit을 사용해age,emp_cat,ir_cat,loan_amnt변수를 포함한 PD 예측값이 들어 있어요.predictions_cloglog에는 cloglog 링크를 사용해age,emp_cat,ir_cat,loan_amnt변수를 포함한 PD 예측값이 들어 있어요.predictions_all_full에는 기본 logit 링크를 사용해 데이터 세트의 7개 모든 변수를 포함한 PD 예측값이 들어 있어요.
먼저 이 네 가지 모델의 ROC 곡선을 한 그래프에 그릴 거예요. 그다음 곡선 아래 면적(AUC)을 확인해 보겠습니다.
이 연습은 강의의 일부입니다
R로 배우는 신용 위험 모델링
연습 안내
- R 콘솔에서 pROC 패키지를 로드하세요.
- 함수
roc(response, predictor)를 사용해 네 가지 로지스틱 회귀 모델의 ROC 객체를 만드세요. 응답 변수는test_set에 있는 대출 상태 지표이며,test_set$loan_status로 가져올 수 있어요. - 만들어 둔 객체들을 사용해 ROC 곡선을 그리세요. 네 곡선을 하나의 그래프에 그리려면 첫 번째 ROC(
ROC_logit)는plot()으로 그린 뒤, 나머지 세 모델은 같은 그래프에 [lines()](https://www.rdocumentation.org/packages/graphics/functions/lines to add the ROC-curves)로 추가하세요. col인자를 사용해ROC_probit은"blue",ROC_cloglog는"red",ROC_all_full은"green"색으로 설정하세요. 참고로, 영상에서와 달리 여기서는 x축 라벨이 Specificity이며 "1-Specificity"가 아니어서, 축이 왼쪽에서 1, 오른쪽에서 0으로 표시됩니다.- 여기서는 링크 함수가 ROC에 큰 영향을 주지 않는 것으로 보이며, 더 많은 변수를 포함하는 모델이 ROC를 개선하는 주된 요인입니다. ROC 곡선의 성능을 정량적으로 확인하려면 auc() 함수를 사용해 AUC를 확인하세요.
실습형 인터랙티브 연습
이 예제를 이 샘플 코드를 완성하여 풀어보세요.
# Load the pROC-package
# Construct the objects containing ROC-information
ROC_logit <- roc(test_set$loan_status, predictions_logit)
ROC_probit <-
ROC_cloglog <-
ROC_all_full <-
# Draw all ROCs on one plot
plot(___)
lines(___, col=___)
lines(___, col=___)
lines(___, col=___)
# Compute the AUCs