歡迎來到本課程!

R 的樹狀模型機器學習

Sandro Raabe

Data Scientist

課程總覽

 

  • 第 1 章:分類決策樹
  • 第 2 章:迴歸樹、交叉驗證、偏差-變異權衡
  • 第 3 章:超參數調校、Bagging、隨機森林
  • 第 4 章:Boosting 決策樹
R 的樹狀模型機器學習

決策樹就是流程圖

動物流程圖

1 https://aca.edu.au/resources/decision-trees-classifying-animals/decision-trees.pdf
R 的樹狀模型機器學習

樹模型的優點

  • 易於解說與理解
  • 可擷取非線性關係
  • 不需對數值特徵做正規化或標準化
  • 不必建立虛擬指示變數
  • 對離群值具韌性
  • 面對大型資料集速度快
R 的樹狀模型機器學習

樹模型的缺點

  • 若樹很大、很深或為集成模型,則不易解讀
  • 變異高;複雜樹易過度擬合
R 的樹狀模型機器學習

tidymodels 螢幕截圖

R 的樹狀模型機器學習

tidymodels 套件

library(tidymodels)
-- Attaching packages -------------------- tidymodels 0.1.4 --
v parsnip   0.2.1      v rsample   0.1.1 
v dplyr     1.0.9      v tibble    3.1.7 
v yardstick 0.0.9      v tune      0.1.6
R 的樹狀模型機器學習

建立決策樹

規格/功能設計

 1. 選擇模型類別

library(tidymodels)

decision_tree()
Decision Tree Model Specification (unknown)
R 的樹狀模型機器學習

建立決策樹

 2. 設定模型引擎

library(tidymodels)

decision_tree() %>% 
    set_engine("rpart")
Decision Tree Model Specification (unknown)

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

建立決策樹

 3. 設定模式(分類或迴歸)

library(tidymodels)

decision_tree() %>% 
     set_engine("rpart") %>% 
     set_mode("classification")
Decision Tree Model Specification (classification)

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

從模型規格到可用模型

規格只是骨架,需要資料來訓練
library(tidymodels)
tree_spec <- decision_tree() %>% 
               set_engine("rpart") %>% 
               set_mode("classification")
# 使用公式與訓練資料來擬合模型規格
tree_spec %>%           
  fit(formula = outcome ~ age + bmi,  
      data = diabetes)
parsnip model object
Fit time: 19 ms 
n = 652
R 的樹狀模型機器學習

一起來建立模型!

R 的樹狀模型機器學習

Preparing Video For Download...