建立經過良好後剪枝的樹
過早停止決策樹的成長,可能會讓它忽略部分資料,或錯過後續才能找到的重要趨勢。
透過「後剪枝(post-pruning)」策略,你可以先刻意讓樹長得又大又複雜,再把它剪得更小、更有效率。
在這個練習中,你將把樹的效能與複雜度做視覺化,並利用這些資訊把樹剪到合適的程度。
rpart 套件已預先載入,同時也載入了 loans_test 與 loans_train。
本練習屬於課程
R 監督式學習:分類
練習說明
- 使用所有申請者相關變數,且不要做任何前剪枝,建立一棵過度複雜的樹。請在
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(___)