问题标签 [r-recipes]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
136 浏览

tidymodels - Tidymodels 食谱 - 添加一个仅应用特征工程功能的步骤?

许多特征工程步骤是不需要在数据集上“训练”的转换,例如,创建一个新列 x2 作为 x2=2*x1。这些“静态变换”与“可训练”变换不同,例如贬低和重新缩放。

我不想依赖诸如 step_mutate() 之类的食谱包函数,而是想定义一个函数,例如 do_static_transforms(),它接受一个小标题并输出一个转换后的小标题。我想将此作为食谱的第一步。或者,我想将此添加为工作流程中的第一步(另一个 tidymodels 包)。

这是一个明智和可能的事情吗?

0 投票
1 回答
504 浏览

r - Tidymodels 调整配方参数

使用 tidymodels,我真的很喜欢不仅可以调整模型参数,还可以调整一些食谱步骤。例如 step_pls() 中的组件数。问题是我在限制可能值的范围时遇到了麻烦。例如,如果我想使用 step_umap,我想将搜索空间限制为 2:5 分量。当我用 step_umap() 替换 step_pls() 时,以下代码会导致会话崩溃。它试图用大约 50 个组件构建 umap...所以基本上,我的问题是,在使用 grid_random 或 grid_max_entropy 时,如何限制搜索特定调整参数的范围?

注意:也尝试过类似param_grid%>%grid_random(size=5,num_comp() %>% range_set(c(3, 5))). 但似乎被忽略了。

谢谢

0 投票
1 回答
2029 浏览

r - Tidymodels tune_grid:不使用公式时“不能对不存在的列进行子集化”

我已经为 TidyTuesday 上最近的咖啡数据集整理了一个数据预处理方法。我的意图是生成一个工作流,然后从那里调整一个超参数。我特别感兴趣的是通过各种update_role()函数手动声明预测变量和结果,而不是使用公式,因为我对这种类型的变量选择有一些很好的计划(这真是个好主意!)。

prep下面的示例生成了一个与and配合得很好的配方bake(coffee_test)。如果我取消选择结果列,它甚至可以工作,例如。coffee_recipe %>% bake(select(coffee_test, -cupper_points)). 但是,当我运行工作流程时,tune_grid我会得到如图所示的错误。看起来tune_grid找不到没有“预测器”角色的变量,即使bake做得很好。

现在,如果我改为使用公式和step_rm我不关心的变量以正常方式做事,那么事情大多会起作用——我会收到一些关于缺少country_of_origin值的行的警告,我觉得这很奇怪,因为我应该插补那些。我完全有可能误解了角色的目的以及如何使用它们。

reprex 包(v0.3.0)于 2020 年 7 月 21 日创建

会话信息
0 投票
2 回答
309 浏览

r - 有没有办法在 R(或 ml3)的 recipes 包中对行(尤其是虚拟变量)进行分组

食谱步骤效果很好

但我真正想要获得的结果是下面的结果,每行有一个观察结果,因为多色项目不再需要几行。

显然,我可以这样做。但是为了将我的配方步骤完全集成到tidymodels生态系统中,例如使用工作流,如果我可以将不再需要重复的行分组,这要好得多,这要归功于配方中直接存在的虚拟变量。

是否有任何tidymodels 认可的方法来获得此结果?


我也尝试过这样做mlr3,但无济于事,因为我找不到任何适合PipeOp聚合行的方法。


我正在研究自定义step_函数或自定义PipeOp的创建,但我仍然觉得我缺少一些东西,因为我的数据类型对我来说并不罕见。

0 投票
1 回答
110 浏览

r - 如何在不丢失原始变量的情况下离散化数值变量?

这是我的玩具数据和代码。如何在不丢失原始变量的情况下离散化数值变量?

在上面的代码中,我从 pop 和 gdpPercap 中丢失了原始值,因为它们被各自的离散化版本替换。如何同时保留:原始数值和离散变量?

其次,不是bin01,bin02,没有办法获得[0-100],[101-150]等类型的bin,所以我知道哪个bin有什么值?

0 投票
0 回答
138 浏览

r - 使用 Caret 和食谱训练模型:错误并非食谱中的所有变量都存在

在过去的几个小时里,我一直在尝试训练一个插入符号 glmnet 模型,但它一直在抛出错误,我的数据集有 15 个观察值,3 个是因子变量,11 个是数字,1 个是整数。我将数据集拆分为 70/30 的训练测试拆分。

数据集中有一些 NA 值,因此我尝试在配方代码中估算 NA,然后将其通过管道传输到中心并缩放数字数据。

当我尝试使用我拥有的配方预处理我的数据时,我不断收到错误消息

以“DEATHRATE”作为 Y 变量的测试/训练拆分

使用配方进行预处理,以“DEATHRATE”作为因变量,“COUNTRY”作为 id

我总是得到错误

训练模型

有谁知道我做错了什么?

0 投票
0 回答
78 浏览

workflow - Tidypredict 不包含食谱

我用 tidymodels 拟合了一个逻辑回归模型。函数 tidypredict_fit 提取公式,但我注意到它没有在配方中包含预处理。如何通过必要的预处理提取模型公式?

0 投票
0 回答
124 浏览

r - 是否需要规范化数据以在食谱中生成自然样条曲线

我使用自然样条拟合了一个模型,但我不确定使用 BoxCox 以及在预测变量上居中和缩放是否有任何优势。阶跃自然样条是否执行转换?在自然样条之前对预测变量进行归一化是否有优势?

0 投票
1 回答
57 浏览

r - 列表中的 rlang 表达式作为函数的参数

我正在尝试将用户输入解析为函数调用的参数(在表达式中)。好像我很接近但是!将我的论点用括号括起来,这是行不通的。我正在尝试使用用户输入重新创建以下内容:

我的表情最终看起来像这样:

哪个不准备()

0 投票
1 回答
164 浏览

r - tidymodels bake:Error: Please pass a data set to `new_data`

recipe()在包中使用函数tidymodels来估算缺失值和修复不平衡的数据。

这是我的数据;

这是我的代码;

直到这里都可以正常工作;

但是当我运行bake()给出错误的函数时说;

任何人都可以帮助我了解我在这里缺少的东西吗?