컷오프 지정하기
이전에 컷오프를 어떻게 지정하느냐에 따라 좋은 혼동 행렬을 얻을 수도, 그렇지 못할 수도 있음을 보여드렸어요. 이제 예측 벡터를 대출 상태를 나타내는 이진 값 벡터로 변환하는 방법을 배웁니다. R의 ifelse() 함수가 도움이 될 거예요.
컷오프 문맥에서 ifelse() 함수를 적용하면 다음과 같이 쓸 수 있습니다.
ifelse(predictions > 0.3, 1, 0)
첫 번째 인수에서는 예측 벡터의 특정 값이 0.3보다 큰지 확인합니다. TRUE이면 R은 두 번째 인수로 지정한 "1"을, FALSE이면 세 번째 인수로 지정한 "0"을 반환하며, 각각 "부도(default)"와 "비부도(no default)"를 의미합니다.
이 연습은 강의의 일부입니다
R로 배우는 신용 위험 모델링
연습 안내
- 전체 로지스틱 회귀 모델과 예측 벡터에 대한 코드는 콘솔에 제공되어 있어요.
- 컷오프 0.15를 사용해,
ifelse()함수와predictions_all_full로 벡터pred_cutoff_15를 생성하세요. table()을 사용해 혼동 행렬을 확인하세요(첫 번째 인수에는 실제 값인test_set$loan_status를 넣습니다).
실습형 인터랙티브 연습
이 예제를 이 샘플 코드를 완성하여 풀어보세요.
# The code for the logistic regression model and the predictions is given below
log_model_full <- glm(loan_status ~ ., family = "binomial", data = training_set)
predictions_all_full <- predict(log_model_full, newdata = test_set, type = "response")
# Make a binary predictions-vector using a cut-off of 15%
# Construct a confusion matrix