연속형 종속변수

R로 배우는 트리 기반 Machine Learning

Sandro Raabe

Data Scientist

데이터셋

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로 배우는 트리 기반 Machine Learning

회귀 트리 구성하기

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로 배우는 트리 기반 Machine Learning

회귀 트리로 예측하기

# 새 데이터에 대한 예측
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로 배우는 트리 기반 Machine Learning

분할 정복

분할 정복

R로 배우는 트리 기반 Machine Learning

하이퍼파라미터

회귀 트리의 목표:
  • 그룹 내 분산(평균으로부터의 편차) 최소화
설계 선택:
  • min_n: 추가 분할에 필요한 노드의 최소 데이터 수(기본값: 20)
  • tree_depth: 트리의 최대 깊이(기본값: 30)
  • cost_complexity: 모델 복잡도 패널티(기본값: 0.01)
첫 단계에서 설정:
decision_tree(tree_depth = 4, cost_complexity = 0.05) %>% 
    set_mode("regression")
R로 배우는 트리 기반 Machine Learning

모델 출력 이해하기

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 모델

 

 

  • 시각화:

의사결정나무

R로 배우는 트리 기반 Machine Learning

회귀를 해봅시다!

R로 배우는 트리 기반 Machine Learning

Preparing Video For Download...