코스에 오신 것을 환영합니다!

R로 배우는 트리 기반 Machine Learning

Sandro Raabe

Data Scientist

코스 개요

 

  • 1장: 분류나무
  • 2장: 회귀나무, 교차검증, 편향-분산 균형
  • 3장: 하이퍼파라미터 튜닝, 배깅, 랜덤 포레스트
  • 4장: 부스팅 트리
R로 배우는 트리 기반 Machine Learning

의사결정나무는 순서도입니다

animal_flowchart

1 https://aca.edu.au/resources/decision-trees-classifying-animals/decision-trees.pdf
R로 배우는 트리 기반 Machine Learning

트리 기반 모델의 장점

  • 설명과 이해가 쉽습니다
  • 비선형 관계를 포착할 수 있음
  • 수치형 특성의 정규화/표준화가 필요 없음
  • 더미 변수 생성 불필요
  • 이상치에 견고함
  • 대용량 데이터에서도 빠름
R로 배우는 트리 기반 Machine Learning

트리 기반 모델의 단점

  • 크거나 깊거나 앙상블이면 해석이 어려움
  • 분산이 커서 복잡한 트리는 과적합되기 쉬움
R로 배우는 트리 기반 Machine Learning

tidymodels_screenshot

R로 배우는 트리 기반 Machine Learning

tidymodels 패키지

library(tidymodels)
-- 패키지 첨부 --------------------------- tidymodels 0.1.4 --
v parsnip   0.2.1      v rsample   0.1.1 
v dplyr     1.0.9      v tibble    3.1.7 
v yardstick 0.0.9      v tune      0.1.6
R로 배우는 트리 기반 Machine Learning

결정나무 만들기

명세/함수형 설계

 1. 모델 클래스를 선택합니다

library(tidymodels)

decision_tree()
결정나무 모델 명세(알 수 없음)
R로 배우는 트리 기반 Machine Learning

결정나무 만들기

 2. 모델을 구동할 엔진을 설정합니다

library(tidymodels)

decision_tree() %>% 
    set_engine("rpart")
결정나무 모델 명세(알 수 없음)

계산 엔진: rpart
R로 배우는 트리 기반 Machine Learning

결정나무 만들기

 3. 모드를 설정합니다(분류 또는 회귀)

library(tidymodels)

decision_tree() %>% 
     set_engine("rpart") %>% 
     set_mode("classification")
결정나무 모델 명세(분류)

계산 엔진: rpart
R로 배우는 트리 기반 Machine Learning

모델 명세에서 실제 모델로

명세는 골격이며 학습할 데이터가 필요함
library(tidymodels)
tree_spec <- decision_tree() %>% 
               set_engine("rpart") %>% 
               set_mode("classification")
# 모델 명세는 수식과 학습 데이터로 적합합니다
tree_spec %>%           
  fit(formula = outcome ~ age + bmi,  
      data = diabetes)
parsnip 모델 객체
적합 시간: 19 ms 
n = 652
R로 배우는 트리 기반 Machine Learning

모델을 만들어 봅시다!

R로 배우는 트리 기반 Machine Learning

Preparing Video For Download...