Hasil kontinu

Machine Learning dengan Model Berbasis Pohon di R

Sandro Raabe

Data Scientist

Dataset

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 dengan Model Berbasis Pohon di R

Bangun pohon regresi

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 dengan Model Berbasis Pohon di R

Prediksi dengan pohon regresi

# Prediksi model pada data baru
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 dengan Model Berbasis Pohon di R

Bagi & taklukkan

bagi_dan_taklukkan

Machine Learning dengan Model Berbasis Pohon di R

Hyperparameter

Tujuan pohon regresi:
  • Varians atau deviasi dari mean rendah dalam tiap grup
Keputusan desain:
  • min_n: jumlah data di node untuk bisa di-split lagi (default: 20)
  • tree_depth: kedalaman maksimum pohon (default: 30)
  • cost_complexity: penalti untuk kompleksitas (default: 0.01)
Set di langkah awal:
decision_tree(tree_depth = 4, cost_complexity = 0.05) %>% 
    set_mode("regression")
Machine Learning dengan Model Berbasis Pohon di R

Memahami output model

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 dengan tree_depth = 1

 

 

  • Visualisasi:

pohon keputusan

Machine Learning dengan Model Berbasis Pohon di R

Mari lakukan regresi!

Machine Learning dengan Model Berbasis Pohon di R

Preparing Video For Download...