为什么在整形模型中需要准备,烘烤和榨汁?

问题描述

我总是在不使用prep()bake()juice()的情况下完成模型的拟合和预测:

rec_wflow <- 
  workflow() %>% 
  add_model(lr_mod) %>% 
  add_recipe(rec)

data_fit <- 
  rec_wflow %>% 
  fit(data = train_data)

这些(prepbakejuice函数是否仅用于视觉检查数据的预处理结果,而对于拟合/训练过程不是必需的吗?

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。

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...