【问题标题】:No applicable method for 'mae' applied to an object of class "c('double', 'numeric') when mapping using map2_dbl?使用 map2_dbl 进行映射时,没有适用于“c('double','numeric') 类对象的“mae”方法?
【发布时间】:2020-11-06 15:28:12
【问题描述】:

我正在尝试为我创建的模型计算 MAE,但收到以下错误:

x no applicable method for 'mae' applied to an object of class "c('double', 'numeric')

使用 ma​​p2_dbl 我的映射看起来像这样:

cv_eval_rf <- cv_model_rf %>% 
  mutate(validate_mae = map2_dbl(validate_actual, validate_predicted, ~mae(actual = .x, predicted = .y)))

我很困惑,因为当我检查 validate_actualvalidate_predicted 类时,我得到以下信息:

我的 tibble 看起来像这样:

我正在尝试创建另一个名为 validate_mae 的列,正如您在上面的计算中看到的那样。很简单,我要做的就是计算每个 tibble 的 MAE 并将其附加到这个对象上,这样我就可以评估表现最好的训练/验证数据。

【问题讨论】:

标签: r tidyverse purrr tibble


【解决方案1】:

许多不同的包都实现了一个名为mae 的函数。您使用了错误包中的 mae 函数。

如果您使用Metrics::mae,您的代码应该可以工作。

cv_eval_rf <- cv_model_rf %>% 
  mutate(validate_mae = map2_dbl(validate_actual, validate_predicted, ~Metrics::mae(actual = .x, predicted = .y)))

yardstick::mae 也应该使用稍有不同的语法

cv_eval_rf <- cv_model_rf %>% 
  yarstick::mae(validate_actual, validate_predicted)

【讨论】:

  • 做到了 Metrics::mae!非常感谢 !!!!我感激不尽
猜你喜欢
  • 2021-08-17
  • 1970-01-01
  • 2022-10-05
  • 1970-01-01
  • 2021-07-21
  • 2019-07-22
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多