回归树的性能指标

R 中的树模型机器学习

Sandro Raabe

Data Scientist

如何衡量性能?

  • 分类问题:准确率(混淆矩阵)
  • 回归问题:"正确"是相对的,无二元对错

⇒ 衡量预测与真实值的偏离程度

R 中的树模型机器学习

常见回归指标

  • 平均绝对误差(MAE)
  • 均方根误差(RMSE)

 

MAE 直觉:

平均差异图

 

 

 

 

 

MAE = 红色条的平均长度

R 中的树模型机器学习

公式与直觉

 

$$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 中的树模型机器学习

公式与直觉

 

$$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 中的树模型机器学习

编码:预测

# 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 中的树模型机器学习

编码: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 中的树模型机器学习

让我们评估一下!

R 中的树模型机器学习

Preparing Video For Download...