问题标签 [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.
r - 为什么结果变量在线性回归的汇总表中显示为系数?
我正在使用食谱进行线性回归,以根据等级(副教授、助理教授和正教授)、性别、学科(应用或理论)、服务年限和博士后的年限来预测薪水。该数据集位于汽车包中。
我创建了虚拟变量,并将因结果变量转换为更正常的形状。我已经将服务年限和博士后的年限标准化为 0 到 1 之间的值。
总结结果:
当我查看变量信息 ( sal.recipe$var_info
) 时:
它将工资显示为结果,而不是预测值。当我查看线性模型的摘要信息时,为什么薪水会显示为系数?
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} 助手。
任何提示或对某些文档的指导将不胜感激!谢谢!
r - Caret 的 train.recipe 似乎没有应用配方程序来删除 NA,随后交叉验证失败
caret 包似乎没有应用配方程序来删除 NA 以进行交叉验证。我想我忽略了一些东西......
quantile.default(y, probs = seq(0, 1, length = cut)) 中的错误:如果 'na.rm' 为 FALSE,则不允许缺少值和 NaN
当回归量为 NA 但给出不同的错误消息时,它也不起作用。当数据准备好并烘焙并传递到它的 x/y 接口时,train(.)
它就可以工作了。
非常感谢任何提示。
r - 配方因 caret::train 而失败
caret
与我一起使用时recipes
出现错误说明:
Error in { : task 1 failed - "$ operator is invalid for atomic vectors"
我设法将其缩小到食谱的问题。但我不确定我做错了什么。有人见过这个吗?我发现的唯一相关信息是here,上面写着:
当模型对象失败并导致没有可用的配方时会发生这种情况
下面是我使用的代码。我无法共享数据,但使用 mtcars 时也会出现错误。
r - 由于使用 R 配方的新因子水平,如何处理 NA?
我预处理了一个训练数据集 (A),现在想使用 R 配方为测试集 (B) 重现这些步骤。
问题是,测试集中有新的因子水平,我想忽略:
现在的问题是下表中的 NA:
我可以在这些步骤中以某种方式避免它吗?我可以在配方过程中将 NA 归为零吗(我对基本 R 或 dplyr 解决方案不感兴趣)?
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。
我无法手动输入所有这些。
r - 使用 tidymodels recipes 包添加缺少的指标列
我想使用recipes包创建一个配方,该包既可以估算丢失的数据,又可以添加指示哪些值丢失的指示符列。如果可以选择为原始数据框中的每一列包含一个指示符列,或者只为原始数据框中缺少数据的列包含一个指示符列,那也很好。我知道我可以使用recipes轻松估算缺失值,但是是否有内置方法来添加缺失的指示符列?
例如,如果我有这样的数据框:
我希望插补和添加缺失指标列后的输出看起来像这样:
当然,对于这样一个简单的例子,我可以手动完成。但是,当在机器学习管道中处理大型数据集时,有一种自动化的方法会很有帮助。
根据 的文档recipes::check_missing
,有一个columns
论点,
列将由 terms 参数(最终)填充的变量名称字符串。
但我不确定这意味着什么,terms
因为check_missing
.
作为参考,我正在寻找的功能是由MissingIndicator类在scikit-learn中实现的。
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
.
我该怎么做?
r - 在 r 中添加一系列步骤到配方的末尾
目标是能够将一系列新步骤按顺序添加到配方的末尾,其中新步骤作为参数传递给函数。
for
我可以用循环做我想做的事:
for
如果不使用循环,我似乎无法让它工作:
由reprex 包(v0.3.0)于 2020-02-24 创建
问题是由管道引起的new_steps
。如果我只添加一个步骤,它工作正常。我还注意到未引用的表达式有一组额外的括号。有没有办法在取消引用后删除一组额外的括号?