시작하기무료로 시작하기

더 많은 옵션으로 마지막 트리 만들기

이 연습에서는 영상에서 다룬 마지막 몇 가지 인수를 사용해 보겠습니다. rpart.control() 함수의 일부 설정을 바꾸고, rpart()weights 인수를 사용해 가중치를 포함하겠습니다. 벡터 case_weights는 이미 만들어져 작업 공간에 로드되어 있어요. 이 벡터에는 훈련 세트의 비연체 건에 가중치 1, 연체 건에 가중치 3이 들어 있습니다. 연체에 더 높은 가중치를 주면, 모델이 연체를 정확히 분류하는 것을 더 중요하게 여기게 됩니다.

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

R로 배우는 신용 위험 모델링

강의 보기

연습 안내

  • 시드를 345로 설정하세요.
  • 제공된 코드에서 rpart()weights 인수에 case_weights를 전달해 추가하세요.
  • rpart.control에서 minsplitminbucket 인수를 각각 사용해 노드에서 허용되는 최소 분할 수를 5로, 리프 노드에서 허용되는 최소 관측치 수를 2로 변경하세요.
  • plotcp() 함수를 사용해 교차 검증 오류율이 최소가 되는 지점을 확인하세요.
  • which.min()을 사용해 tree_weights$cp에서 "xerror"가 최소인 행을 찾아 index에 할당하세요.
  • 제공된 코드를 사용해 교차 검증 오류가 최소가 되는 cp를 선택하세요.
  • 교차 검증 오류율이 최소가 되는 복잡도 매개변수로 트리를 가지치기(prune)하세요. 가지치기된 트리를 ptree_weights에 저장하세요.
  • prp() 함수를 사용해 가지치기된 트리를 그리세요. 두 번째 인수 extra를 포함하고 값을 1로 설정하세요.

실습형 인터랙티브 연습

이 예제를 이 샘플 코드를 완성하여 풀어보세요.

# set a seed and run the code to obtain a tree using weights, minsplit and minbucket
set.seed(345)
tree_weights <- rpart(loan_status ~ ., method = "class",
                      data = training_set,
                      control = rpart.control(minsplit = ___, minbucket = ___, cp = 0.001))

# Plot the cross-validated error rate for a changing cp


# Create an index for of the row with the minimum xerror
index <- which.min(___$___[ , "xerror"])

# Create tree_min
tree_min <- tree_weights$cp[index, "CP"]

# Prune the tree using tree_min


# Plot the pruned tree using the rpart.plot()-package
코드 편집 및 실행