Cắt tỉa cây với xác suất tiên nghiệm đã thay đổi
Trong video, bạn đã học rằng cần cắt tỉa cây để tránh overfitting. Ở các bài trước có một số cây rất lớn, và giờ bạn sẽ áp dụng những gì đã học để cắt tỉa cây đã xây dựng trước đó với xác suất tiên nghiệm đã thay đổi. Gói rpart đã được nạp trong không gian làm việc của bạn.
Trước tiên, bạn sẽ đặt seed để đảm bảo kết quả có thể tái lập như đã đề cập trong video, vì bạn sẽ xem xét các kết quả lỗi được cross-validate. Những kết quả này có tính ngẫu nhiên và có thể hơi khác nhau nếu chạy lại hàm với seed khác.
Trong bài tập này, bạn sẽ học cách xác định tham số độ phức tạp (CP) nào giúp tối thiểu hóa lỗi cross-validated, rồi cắt tỉa cây của bạn dựa trên giá trị đó.
Bài tập này là một phần của khóa học
Mô hình hóa rủi ro tín dụng bằng R
Hướng dẫn bài tập
tree_priorđã được nạp trong không gian làm việc của bạn.- Dùng
plotcp()để trực quan hóa lỗi cross-validated (X-val Relative Error) theo tham số độ phức tạp chotree_prior. - Dùng
printcp()để in bảng thông tin về CP, số lần tách (splits), và lỗi. Xem liệu bạn có thể xác định được lần tách nào cho lỗi cross-validated nhỏ nhất trongtree_prior. - Dùng
which.min()để xác định hàng nào trongtree_prior$cptablecó lỗi cross-validated nhỏ nhất"xerror". Gán vàoindex. - Tạo
tree_minbằng cách chọn chỉ số củatree_prior$cptabletrong cột"CP". - Dùng hàm
prune()để thu được cây đã cắt tỉa. Đặt tên cây đã cắt tỉa làptree_prior. - Gói
rpart.plotđã được nạp trong không gian làm việc của bạn. Vẽ cây đã cắt tỉa bằng hàm prp() (thiết lập mặc định).
Bài tập tương tác thực hành trực tiếp
Hãy thử làm bài tập này bằng cách hoàn thành đoạn mã mẫu này.
# tree_prior is loaded in your workspace
# Plot the cross-validated error rate as a function of the complexity parameter
# Use printcp() to identify for which complexity parameter the cross-validated error rate is minimized.
# Create an index for of the row with the minimum xerror
index <- which.min(___$___[ , "xerror"])
# Create tree_min
tree_min <- tree_prior$cptable[index, "CP"]
# Prune the tree using tree_min
ptree_prior <- prune(___, cp = ___)
# Use prp() to plot the pruned tree