시작하기무료로 시작하기

손실 행렬로 트리 가지치기

이 연습 문제에서는 손실 행렬을 사용해 구축한 트리를 가지치기하여, 부도 미분류에 비부도 미분류보다 더 큰 페널티를 주려고 합니다.

이 연습은 강의의 일부입니다

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
코드 편집 및 실행