Spojité výstupy

Machine Learning with Tree-Based Models in R

Sandro Raabe

Data Scientist

Datová sada

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"
Machine Learning with Tree-Based Models in R

Sestavení regresního stromu

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
Machine Learning with Tree-Based Models in R

Predikce pomocí regresního stromu

# 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
Machine Learning with Tree-Based Models in R

Rozdělení a dobývání

rozdělení a dobývání

Machine Learning with Tree-Based Models in R

Hyperparametry

Cíl regresních stromů:
  • Nízký rozptyl nebo odchylka od průměru ve skupinách
Klíčové parametry:
  • min_n: počet datových bodů v uzlu pro další rozdělení (výchozí: 20)
  • tree_depth: maximální hloubka stromu (výchozí: 30)
  • cost_complexity: penalizace za složitost (výchozí: 0.01)
Nastavení v prvním kroku:
decision_tree(tree_depth = 4, cost_complexity = 0.05) %>% 
    set_mode("regression")
Machine Learning with Tree-Based Models in R

Porozumění výstupu modelu

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 *
  • Model s tree_depth = 1

 

 

  • Vizualizace:

rozhodovací strom

Machine Learning with Tree-Based Models in R

Pojďme na regresi!

Machine Learning with Tree-Based Models in R

Preparing Video For Download...