連続目的変数

Rで学ぶTree-Based ModelsによるMachine Learning

Sandro Raabe

Data Scientist

データセット

head(chocolate, 5)
final_grade review_date   cocoa_percent  company_location  bean_type              broad_bean_origin
<dbl>       <int>         <dbl>          <fct>             <fct>                  <fct>
3           2009          0.8            U.K.              "Criollo, Trinitario"  "Madagascar"
3.75        2012          0.7            Guatemala         "Trinitario"           "Madagascar"
2.75        2009          0.75           Colombia          "Forastero (Nacional)" "Colombia"
3.5         2014          0.74           Zealand           ""                     "Papua New Guinea"
3.75        2011          0.72           Australia         ""                     "Bolivia"
Rで学ぶTree-Based ModelsによるMachine Learning

回帰木の構築

spec <- decision_tree() %>%

set_mode("regression") %>%
set_engine("rpart")
print(spec)
Decision Tree Model Specification
(regression)

Computational engine: rpart
model <- spec %>%
  fit(formula = final_grade ~ .,

data = chocolate_train)
print(model)
parsnip model object

Fit time:  20ms 
n= 1437 

node), split, n, deviance, yval
      * denotes terminal node
Rで学ぶTree-Based ModelsによるMachine Learning

回帰木で予測する

# 新しいデータでの予測
predict(model, new_data = chocolate_test)
.pred
<dbl>
3.281915
3.435234
3.281915
3.833931
3.281915
3.514151
3.273864
3.514151
Rで学ぶTree-Based ModelsによるMachine Learning

分割統治

分割して征服

Rで学ぶTree-Based ModelsによるMachine Learning

ハイパーパラメータ

回帰木の目標:
  • グループ内の分散(平均からの偏差)を小さくする
設計の要点:
  • min_n: さらに分割するためにノードに必要なデータ数(既定: 20)
  • tree_depth: 木の最大深さ(既定: 30)
  • cost_complexity: 複雑さへのペナルティ(既定: 0.01)
最初のステップで設定:
decision_tree(tree_depth = 4, cost_complexity = 0.05) %>% 
    set_mode("regression")
Rで学ぶTree-Based ModelsによるMachine Learning

モデル出力の理解

decision_tree(tree_depth = 1) %>%
  set_mode("regression") %>%              
  set_engine("rpart")  %>%
  fit(formula = final_grade ~ .,
      data = chocolate_train)
parsnip model object

Fit time:  1ms
n= 1000

node), split, n, yval

1) root                 1000  2.347450
2) cocoa_percent>=0.905   16  2.171875 *
3) cocoa_percent<0.905   984  3.190803 *
  • tree_depth = 1 のモデル

 

 

  • 可視化:

決定木

Rで学ぶTree-Based ModelsによるMachine Learning

回帰をやってみましょう!

Rで学ぶTree-Based ModelsによるMachine Learning

Preparing Video For Download...