问题标签 [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 回答
73 浏览

r - 为什么结果变量在线性回归的汇总表中显示为系数?

我正在使用食谱进行线性回归,以根据等级(副教授、助理教授和正教授)、性别、学科(应用或理论)、服务年限和博士后的年限来预测薪水。该数据集位于汽车包中。

我创建了虚拟变量,并将因结果变量转换为更正常的形状。我已经将服务年限和博士后的年限标准化为 0 到 1 之间的值。

总结结果:

当我查看变量信息 ( sal.recipe$var_info) 时:

它将工资显示为结果,而不是预测值。当我查看线性模型的摘要信息时,为什么薪水会显示为系数?

0 投票
1 回答
203 浏览

r - 编写自己的 tidyselect 函数

我编写了一个使用 {tidyselect} 选择器(例如,等)的 Rcontains()starts_with()。我想在包中添加更多选择帮助函数,以根据某些属性选择变量。例如,选择所有数值变量或可能所有逻辑变量。

我已经查看了 {tidyselect} 基本代码。但我无法推测变量的注册是如何工作的,因此无法将其扩展到通过属性选择变量。

我做了一些搜索,看起来 {recipes} 包已经成功实现了我正在寻找的其他帮助程序(例如all_numeric()),但我自己正在努力编写扩展函数。https://github.com/tidymodels/recipes/blob/master/R/selections.R

我相信,归根结底是我不明白当变量注册到tidyselect::scoped_vars()函数时会发生什么。如果我tidyselect::scoped_vars(vars = names(mtcars))在干净的环境中运行,我看不到任何更改。但是我可以在注册变量后在全局环境中使用 {tidyselect} 助手。

任何提示或对某些文档的指导将不胜感激!谢谢!

0 投票
1 回答
120 浏览

r - Caret 的 train.recipe 似乎没有应用配方程序来删除 NA,随后交叉验证失败

caret 包似乎没有应用配方程序来删除 NA 以进行交叉验证。我想我忽略了一些东西......

quantile.default(y, probs = seq(0, 1, length = cut)) 中的错误:如果 'na.rm' 为 FALSE,则不允许缺少值和 NaN

当回归量为 NA 但给出不同的错误消息时,它也不起作用。当数据准备好并烘焙并传递到它的 x/y 接口时,train(.)它就可以工作了。

非常感谢任何提示。

0 投票
0 回答
71 浏览

r - 配方因 caret::train 而失败

caret与我一起使用时recipes出现错误说明:

Error in { : task 1 failed - "$ operator is invalid for atomic vectors"

我设法将其缩小到食谱的问题。但我不确定我做错了什么。有人见过这个吗?我发现的唯一相关信息是here,上面写着:

当模型对象失败并导致没有可用的配方时会发生这种情况

下面是我使用的代码。我无法共享数据,但使用 mtcars 时也会出现错误。

0 投票
2 回答
682 浏览

r - 由于使用 R 配方的新因子水平,如何处理 NA?

我预处理了一个训练数据集 (A),现在想使用 R 配方为测试集 (B) 重现这些步骤。

问题是,测试集中有新的因子水平,我想忽略:

现在的问题是下表中的 NA:

我可以在这些步骤中以某种方式避免它吗?我可以在配方过程中将 NA 归为零(我对基本 R 或 dplyr 解决方案不感兴趣)?

0 投票
1 回答
482 浏览

r - 如何将配方中的 update_role(或步骤)函数应用于多个列

我正在使用recipes来自tidymodels. 我正在尝试同时update_role为几列。例子:

我收到错误Error: Not all functions are allowed in step function selectors (e.g.c ). See ?selections. Here's documentation for selections
我无法手动输入所有这些。

0 投票
1 回答
467 浏览

r - 使用 tidymodels recipes 包添加缺少的指标列

我想使用recipes包创建一个配方,该包既可以估算丢失的数据,又可以添加指示哪些值丢失的指示符列。如果可以选择为原始数据框中的每一列包含一个指示符列,或者只为原始数据框中缺少数据的列包含一个指示符列,那也很好。我知道我可以使用recipes轻松估算缺失值,但是是否有内置方法来添加缺失的指示符列?

例如,如果我有这样的数据框:

我希望插补和添加缺失指标列后的输出看起来像这样:

当然,对于这样一个简单的例子,我可以手动完成。但是,当在机器学习管道中处理大型数据集时,有一种自动化的方法会很有帮助。

根据 的文档recipes::check_missing,有一个columns论点,

将由 terms 参数(最终)填充的变量名称字符串。

但我不确定这意味着什么,terms因为check_missing.

作为参考,我正在寻找的功能是由MissingIndicator类在scikit-learn中实现的。

0 投票
1 回答
1052 浏览

r - 为什么 tidymodels/recipes 中的“id 变量”起到预测作用?

与使用 step_naomit 的 Predict 和使用 tidymodels 保留 ID的问题相同,但即使有一个可接受的答案,OP 的最后一条评论指出了“id 变量”被用作预测器的问题,正如在查看时可以看到的那样model$fit$variable.importance.

我有一个我想保留的带有“id variables”的数据集。我想我可以通过 recipe() 规范来实现这一点。

reprex 包(v0.3.0)于 2020 年 1 月 27 日创建

但即使我确实指定label了一个 id 变量,它也被用作预测变量。所以也许我可以在公式中使用我想要的特定术语,并专门添加label为 id 变量。

reprex 包(v0.3.0)于 2020 年 1 月 27 日创建

我可以试着不提label

reprex 包(v0.3.0)于 2020 年 1 月 27 日创建

好的,所以模型有效,但我的label.
我该怎么做?

0 投票
1 回答
175 浏览

r - 如何在 r 中使用食谱包中的 add_step

我想构建一个向配方添加步骤的函数,但我不知道如何使用add_step. 文档中没有示例也无济于事。

这是我尝试过的:

reprex 包(v0.3.0)于 2020-02-24 创建

0 投票
0 回答
37 浏览

r - 在 r 中添加一系列步骤到配方的末尾

目标是能够将一系列新步骤按顺序添加到配方的末尾,其中新步骤作为参数传递给函数。

for我可以用循环做我想做的事:

for如果不使用循环,我似乎无法让它工作:

reprex 包(v0.3.0)于 2020-02-24 创建

问题是由管道引起的new_steps。如果我只添加一个步骤,它工作正常。我还注意到未引用的表达式有一组额外的括号。有没有办法在取消引用后删除一组额外的括号?