问题标签 [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 - 使用 recipes 和 caret 的 preProcess 进行预处理的区别
recipes
作为机器学习管道的一部分,我一直在探索用于变量转换的新包。由于所有新的扩展,我选择了这种方法 - 从 usingcaret
的功能升级。preProcess
但我发现这些包对转换后的数据给出了非常不同的结果:
因此,似乎在某些专栏上他们确实同意,但其他专栏却截然不同。为什么这些转变可能如此不同?还有其他人发现类似的差异吗?
r - 如何使用食谱包用常量替换缺失值
我不知道如何使用 recipes 包将丢失的数字变量替换为常量。
我确实考虑过使用 step_lowerimpute,但我认为我无法将它用于我的案例。step_lowerimpute 用0和阈值之间的随机数替换低于给定阈值的缺失值。在我的情况下,这是行不通的。
例如,我有一些实验室变量,如乳酸,它经常丢失。我想用极值替换缺失值,例如 -9999。
r - 如何从配方中排除某些变量?
使用该step_regex
函数为模型构建配方时,它会为原始列中的某些模式创建附加列。完成后有没有办法从配方中排除原始列?
例如在下面的示例中,产品包含原始description
列和两个新创建的列step_regex
。我想要一个与对象集成的解决方案recipe
,以便我可以直接在caret::train
.
r - 将插入符号与食谱一起使用会导致重采样困难
我一直在使用食谱来输入caret::train
,进展顺利,但现在我尝试了一些 step_transforms,我收到了错误:
当我比较有和没有转换的模型时。相同的代码step_centre
和step_scale
工作正常。
r - R:通过recipies包对分类变量进行频率编码
我正在寻找类似于https://rdrr.io/github/bfgray3/cattonum/man/catto_freq.html的功能
但实现为 recipes::step_-function ( https://tidymodels.github.io/recipes/reference/index.html )
有人知道这个的实现吗?:)
r - 似乎无法删除食谱中的变量
我是recipes
API 新手,遇到了一些问题。当我删除了某些我不感兴趣的功能时,为什么我不能bake
或我的食谱步骤?juice
结果是:
这很烦人,因为这意味着在应用步骤后,我需要在测试集和训练集上手动删除行:
我想错了吗?我也可以事先过滤,但我认为我的食谱应该包括这样的东西。
r - predict.train 与使用配方对象进行预测
在指定要在 caret::train 中使用的配方后,我正在尝试预测新样本。我对此有几个问题,因为我在插入符号/食谱文档中找不到。
- 我应该使用 predict() 还是 predict.train()?有什么不同?
- 在使用 predict 之前,我应该先用准备好的配方烘焙测试数据吗?在 train() 中直接使用 preProcess 时,建议不要预处理新数据,因为 train 对象会自动执行此操作。使用食谱时也一样吗?
下面是一个可重现的示例,说明了我的过程以及使用 predict 与 predict.train 时的预测差异
r - recipes::step_dummy + caret::train -> 错误:并非配方中的所有变量都存在
将 recipes::step_dummy 与 caret::train 一起使用时出现以下错误(第一次尝试组合这两个包):
错误:并非配方中的所有变量都存在于提供的训练集中
不确定是什么导致了错误,也不确定调试的最佳方法。帮助训练模型将不胜感激。
r - 使用带有自定义步骤的食谱在烘焙时效果很好,但在使用插入符号训练模型时效果不佳
使用 recipes 包,我开发了一个自定义步骤,以便将其包含在一些插入符号模型中。在我的新步骤中应用准备和烘烤时,一切正常。但是,当我尝试在 caret::train 中包含未准备好的配方时,出现以下错误:“错误:未选择变量或术语”。欢迎任何建议。可重现的示例和会话信息如下:
R会话:
r - 为什么在训练插入符号模型时,食谱比手工预处理慢 20 倍?
为了构建堆叠模型,我在同一数据集上使用不同的预处理训练了许多基础模型。为了跟踪构建设计矩阵的方式,我使用了 recipes 包并定义了自己的步骤。但是,在插入符号训练模型中使用带有自定义步骤的配方显示比应用相同的预处理并使用手工设计矩阵训练插入符号模型要慢 20 倍。知道为什么以及如何改进吗?
我在下面提供了一个可重现的示例:
使用 profvis,看起来配方方式进行了多次尝试(即 27 次)使用不同运行的 try() 和 eval() 函数来完成相同的工作。