적절히 가지치기한 트리 만들기
트리가 끝까지 자라지 못하게 막으면, 데이터의 일부를 놓치거나 나중에 발견할 중요한 경향을 간과할 수 있어요.
사후 가지치기(post-pruning)를 사용하면, 먼저 크고 복잡한 트리를 의도적으로 만든 다음 나중에 더 작고 효율적으로 가지치기할 수 있습니다.
이 연습 문제에서는 트리의 성능과 복잡도 사이의 관계를 시각화하고, 그 정보를 활용해 적절한 수준으로 트리를 가지치기해 볼 거예요.
rpart 패키지와 loans_test, loans_train이 미리 로드되어 있습니다.
이 연습은 강의의 일부입니다
R로 배우는 Supervised Learning: 분류
연습 안내
- 모든 신청자 변수를 사용하고 사전 가지치기를 사용하지 않아 과도하게 복잡한 트리를 만드세요. 사전 가지치기를 막기 위해
rpart.control()에서cp = 0으로 설정하세요. - 모델에 대해
plotcp()를 사용해 복잡도 플롯을 만드세요. - 복잡도 플롯을 바탕으로,
prune()함수에 트리와 복잡도 파라미터를 전달해 복잡도를 0.0014로 가지치기하세요. - 가지치기한 트리의 정확도를 원래 정확도 58.3%와 비교하세요. 정확도 계산에는
predict()와mean()함수를 사용하세요.
실습형 인터랙티브 연습
이 예제를 이 샘플 코드를 완성하여 풀어보세요.
# Grow an overly complex tree
loan_model <- ___
# Examine the complexity plot
plotcp(___)
# Prune the tree
loan_model_pruned <- ___(___, cp = ___)
# Compute the accuracy of the pruned tree
loans_test$pred <- ___
mean(___)