Sürekli çıktılar

R ile Ağaç Tabanlı Modellerle Machine Learning

Sandro Raabe

Data Scientist

Veri seti

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 ile Ağaç Tabanlı Modellerle Machine Learning

Regresyon ağacını kurma

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 ile Ağaç Tabanlı Modellerle Machine Learning

Regresyon ağacı ile tahminler

# Yeni veride model tahminleri
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 ile Ağaç Tabanlı Modellerle Machine Learning

Böl ve yönet

böl ve yönet

R ile Ağaç Tabanlı Modellerle Machine Learning

Hiperparametreler

Regresyon ağaçlarının amacı:
  • Gruplar içinde düşük varyans ya da ortalamadan sapma
Tasarım kararları:
  • min_n: bölünme için bir düğümde gereken veri noktası sayısı (varsayılan: 20)
  • tree_depth: ağacın azami derinliği (varsayılan: 30)
  • cost_complexity: karmaşıklık cezası (varsayılan: 0.01)
En başta ayarlayın:
decision_tree(tree_depth = 4, cost_complexity = 0.05) %>% 
    set_mode("regression")
R ile Ağaç Tabanlı Modellerle Machine Learning

Model çıktısını anlama

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 olan model

 

 

  • Görselleştirme:

karar ağacı

R ile Ağaç Tabanlı Modellerle Machine Learning

Hadi regresyon yapalım!

R ile Ağaç Tabanlı Modellerle Machine Learning

Preparing Video For Download...