회귀 트리 성능 지표

R로 배우는 트리 기반 Machine Learning

Sandro Raabe

Data Scientist

성능을 어떻게 측정할까요?

  • 분류: 정확도(혼동 행렬)
  • 회귀: "정답"의 개념이 상대적, 이진 정오 없음

$\Rightarrow$ 예측이 실제와 얼마나 떨어졌는지 측정

R로 배우는 트리 기반 Machine Learning

회귀의 대표 지표

  • 평균 절대 오차(MAE)
  • 평균제곱오차의 제곱근(RMSE)

 

MAE 직관:

평균 차이의 시각화

 

 

 

 

 

MAE = 빨간 막대의 평균 길이

R로 배우는 트리 기반 Machine Learning

공식과 직관

 

$$MAE = \frac{1}{n} \sum_{i=1}^n\left| actual_i - predicted_i \right|$$

 

  • "절댓값 편차의 합을 예측 개수로 나눈 값"

$$\quad MSE = \quad \frac{1}{n} \sum_{i=1}^n\left( actual_i - predicted_i \right)^2$$

  •                   "평균제곱오차"
R로 배우는 트리 기반 Machine Learning

공식과 직관

 

$$MAE = \frac{1}{n} \sum_{i=1}^n\left| actual_i - predicted_i \right|$$

 

  • "절댓값 편차의 합을 예측 개수로 나눈 값"

$$RMSE = \sqrt{\frac{1}{n} \sum_{i=1}^n\left( actual - predicted \right)^2}$$

  • "평균제곱오차의 제곱근"
  • 큰 오차에 더 큰 가중치
R로 배우는 트리 기반 Machine Learning

코딩: 예측

# parsnip과 yardstick은 tidymodels에 포함됩니다
library(tidymodels)
# 예측을 생성하여 테스트 데이터에 추가
predictions <- predict(model, new_data = chocolate_test) %>%

bind_cols(chocolate_test)
# A tibble: 358 x 7
   .pred final_grade review_date cocoa_percent company_location
   <dbl>       <dbl>       <int>         <dbl> <fct>           
 1  2.5         2.75        2013          0.7  France          
 2  3.64        3.25        2014          0.8  France          
 3  3.3         3.5         2012          0.7  France          
 4  3.25        3.5         2011          0.72 Fiji            
# ... with 354 more rows, and 2 more variables: bean_type <fct>, broad_bean_origin <fct>
R로 배우는 트리 기반 Machine Learning

코딩: mae()와 rmse()

# mae()로 평가
mae(predictions,

estimate = .pred,
truth = final_grade)
# A tibble: 1 x 2
  .metric   .estimate
  <chr>         <dbl>
1 mae           0.363
# rmse()로 평가
rmse(predictions,
     estimate = .pred,
     truth = final_grade)
# A tibble: 1 x 2
  .metric   .estimate
  <chr>         <dbl>
1 rmse          0.457
R로 배우는 트리 기반 Machine Learning

평가해 봅시다!

R로 배우는 트리 기반 Machine Learning

Preparing Video For Download...