손실 행렬로 트리 가지치기
이 연습 문제에서는 손실 행렬을 사용해 구축한 트리를 가지치기하여, 부도 미분류에 비부도 미분류보다 더 큰 페널티를 주려고 합니다.
이 연습은 강의의 일부입니다
R로 배우는 신용 위험 모델링
연습 안내
- 코드를 실행해 시드를 설정하고
tree_loss_matrix를 다시 생성하세요. - plotcp() 함수를 사용해 교차 검증 오류 구조를 확인하세요.
- cp 플롯을 보면, 최소 교차 검증 오류로 가지치기하면
cp = 0.001에서 교차 검증 오류가 최소가 되어, 가지치기 전 트리와 거의 같은 크기의 트리가 됩니다. 트리를 조금 더 작게 만들고 싶다면cp = 0.0012788로 가지치기해 보세요. 이 복잡도 매개변수에서는 교차 검증 오류가 관측된 최소 오류에 근접합니다. 가지치기한 트리의 이름은ptree_loss_matrix로 하세요. - 워크스페이스에
rpart.plot패키지가 로드되어 있습니다.prp()함수로 가지치기한 트리를 그리세요(인자extra = 1포함).
실습형 인터랙티브 연습
이 예제를 이 샘플 코드를 완성하여 풀어보세요.
# set a seed and run the code to construct the tree with the loss matrix again
set.seed(345)
tree_loss_matrix <- rpart(loan_status ~ ., method = "class", data = training_set,
parms = list(loss=matrix(c(0, 10, 1, 0), ncol = 2)),
control = rpart.control(cp = 0.001))
# Plot the cross-validated error rate as a function of the complexity parameter
# Prune the tree using cp = 0.0012788
# Use prp() and argument extra = 1 to plot the pruned tree