Bagging 決策樹

R 的樹狀模型機器學習

Sandro Raabe

Data Scientist

集思廣益更勝一人

群體智慧

R 的樹狀模型機器學習

自助抽樣與聚合

  • Bagging = Bootstrap Aggregation 的縮寫

 

 1. 自助抽樣(Bootstrapping)

  • 以放回抽樣 $\rightarrow$ 產生多個變形訓練集

 

 2. 聚合(Aggregation)

  • 將不同模型的預測聚合為最終結果:
    • 迴歸取平均
    • 分類取多數決
R 的樹狀模型機器學習

步驟 1:自助抽樣並訓練

自助抽樣流程

R 的樹狀模型機器學習

步驟 2:聚合

結果聚合

R 的樹狀模型機器學習

程式撰寫:指定 Bagging 決策樹

library(baguette)
spec_bagged <- bag_tree() %>%

set_mode("classification") %>%
set_engine("rpart", times = 100)
Bagged Decision Tree Model Specification (classification)

Main Arguments:
  cost_complexity = 0
  min_n = 2

Engine-Specific Arguments:
  times = 100

Computational engine: rpart
R 的樹狀模型機器學習

訓練所有樹模型

model_bagged <- fit(spec_bagged, formula = still_customer ~ ., data = customers_train)
parsnip model object

Fit time:  23.9s

Bagged CART (classification with 100 members)
Variable importance scores include: # A tibble: 19 x 4 term value std.error used <chr> <dbl> <dbl> <int> 1 total_trans_ct 876. 3.93 100 2 total_trans_amt 800. 4.54 100 3 total_revolving_bal 491. 3.67 100
R 的樹狀模型機器學習

Let's bootstrap!

R 的樹狀模型機器學習

Preparing Video For Download...