Kontinuerliga utfall

Maskininlärning med trädbaserade modeller i R

Sandro Raabe

Data Scientist

Datamängden

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"
Maskininlärning med trädbaserade modeller i R

Bygg regressionsträdet

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
Maskininlärning med trädbaserade modeller i R

Prediktioner med ett regressionsträd

# Model predictions on new data
predict(model, new_data = chocolate_test)
.pred
<dbl>
3.281915
3.435234
3.281915
3.833931
3.281915
3.514151
3.273864
3.514151
Maskininlärning med trädbaserade modeller i R

Dela och erövra

dela och erövra

Maskininlärning med trädbaserade modeller i R

Hyperparametrar

Mål för regressionsträd:
  • Låg varians eller avvikelse från medelvärdet inom grupper
Designval:
  • min_n: antal datapunkter i en nod som krävs för vidare delning (standard: 20)
  • tree_depth: trädets maximala djup (standard: 30)
  • cost_complexity: straff för komplexitet (standard: 0,01)
Ange dem i första steget:
decision_tree(tree_depth = 4, cost_complexity = 0.05) %>% 
    set_mode("regression")
Maskininlärning med trädbaserade modeller i R

Förstå modellens utdata

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 *
  • Modell med tree_depth = 1

 

 

  • Visualisering:

beslutsträd

Maskininlärning med trädbaserade modeller i R

Nu kör vi en övning!

Maskininlärning med trädbaserade modeller i R

Preparing Video For Download...