问题描述
我总是在不使用prep()
,bake()
或juice()
的情况下完成模型的拟合和预测:
rec_wflow <-
workflow() %>%
add_model(lr_mod) %>%
add_recipe(rec)
data_fit <-
rec_wflow %>%
fit(data = train_data)
这些(prep
,bake
,juice
)函数是否仅用于视觉检查数据的预处理结果,而对于拟合/训练过程不是必需的吗?
What is the difference among prep/bake/juice in the R package "recipes"?
上面的代码是我在官方教程中学到的。
我在另一个博客中读到,如果您使用train_data
,则会产生数据泄漏。我想听听更多这些功能与数据泄漏有关吗?
解决方法
简短的回答:您是对的,当像您的示例那样在工作流程中使用配方时,不需要预处理功能。
这在教程Handle class imbalance in #TidyTuesday climbing expedition data with tidymodels中已涉及:
我们将在工作流程()中使用此配方,因此我们无需过多地强调是否要进行prep()。如果要探索配方对数据的作用,可以先准备()配方以估算每个步骤所需的参数,然后烘烤(new_data = NULL)以应用这些步骤提取训练数据。
我推荐Julia博客上的所有教程,以了解tidymodels。