Wyniki ciągłe

Uczenie maszynowe z modelami drzewiastymi w R

Sandro Raabe

Data Scientist

Zbiór danych

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"
Uczenie maszynowe z modelami drzewiastymi w R

Budowanie drzewa regresji

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
Uczenie maszynowe z modelami drzewiastymi w R

Predykcje za pomocą drzewa regresji

# 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
Uczenie maszynowe z modelami drzewiastymi w R

Dziel i rządź

dziel i rządź

Uczenie maszynowe z modelami drzewiastymi w R

Hiperparametry

Cel drzew regresji:
  • Niska wariancja lub odchylenie od średniej w grupach
Decyzje projektowe:
  • min_n: liczba punktów danych w węźle wymagana do kolejnego podziału (domyślnie: 20)
  • tree_depth: maksymalna głębokość drzewa (domyślnie: 30)
  • cost_complexity: kara za złożoność (domyślnie: 0.01)
Ustawienie w pierwszym kroku:
decision_tree(tree_depth = 4, cost_complexity = 0.05) %>% 
    set_mode("regression")
Uczenie maszynowe z modelami drzewiastymi w R

Interpretacja wyników 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 z tree_depth = 1

 

 

  • Wizualizacja:

drzewo decyzyjne

Uczenie maszynowe z modelami drzewiastymi w R

Czas na regresję!

Uczenie maszynowe z modelami drzewiastymi w R

Preparing Video For Download...