问题标签 [tidymodels]
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 - 分组数据上的 yardstick::rmse 返回错误和不正确的结果
我想评估几个回归模型的性能并使用yardstick
包来计算 RMSE。这是一些示例数据
当我运行以下代码时
我收到以下错误
summarise_impl(.data, dots) 中的错误:没有适用于“rmse”的方法应用于“c('double','numeric')”类的对象。
但是,当我明确提供.
作为第一个参数时(我认为这不是必需的),我没有收到错误,但结果不正确。
我期待以下
我知道这个功能有替代品,但我仍然不明白这种行为。
数据
r - 寻找更整洁的模型工作流程来生成预测和其他数据
我想知道如何使这个“整洁的模型”代码“更干净”。
通常我拟合一个模型并在一个包装函数中提供预测,但有时我想从拟合或预测中传回其他数据(模型本身、元数据或拟合值等)。这是一个返回的列表。将此结果作为另外的列传回的最简洁的方法是什么,列表中的每个元素一个(这里是yhat_fit
and yhat
),带有管道
这是一个解决方案,但我不确定是否已经存在一个已经以更清洁的方式执行此操作的函数?
r - 似乎无法删除食谱中的变量
我是recipes
API 新手,遇到了一些问题。当我删除了某些我不感兴趣的功能时,为什么我不能bake
或我的食谱步骤?juice
结果是:
这很烦人,因为这意味着在应用步骤后,我需要在测试集和训练集上手动删除行:
我想错了吗?我也可以事先过滤,但我认为我的食谱应该包括这样的东西。
r - 使用配方在所有字段之间执行配对交互
我正在尝试在glmnet
模型的数据集的每个字段之间创建配对交互,而不必单独命名每个字段。但是,当它尝试自动执行此操作时,它会挂起为针对自身的 one-hot 编码分类变量的所有变体创建它们(例如,它在Gender_Male
and之间创建一个交互列Gender_Female
,然后找不到任何值,因此整个东西都用NaN
s) 填充,然后glmnet
抛出一个错误。
这是一些示例代码:
当我glmnet
在最后运行该部分时,它给了我这个错误:
看了这个问题,我意识到数据中肯定有NA
s/ NaN
s,所以我跑了summary(train_data)
,结果是这样的:
所以,glmnet
难过也就不足为奇了,但我也不知道如何解决它。我真的不想自己手动定义每一个配对。是否有recipes
删除包含NaN
s 的潜在预测列的命令,也许?
r - 为什么结果变量在线性回归的汇总表中显示为系数?
我正在使用食谱进行线性回归,以根据等级(副教授、助理教授和正教授)、性别、学科(应用或理论)、服务年限和博士后的年限来预测薪水。该数据集位于汽车包中。
我创建了虚拟变量,并将因结果变量转换为更正常的形状。我已经将服务年限和博士后的年限标准化为 0 到 1 之间的值。
总结结果:
当我查看变量信息 ( sal.recipe$var_info
) 时:
它将工资显示为结果,而不是预测值。当我查看线性模型的摘要信息时,为什么薪水会显示为系数?
r - 使用 step_naomit 进行预测并使用 tidymodels 保留 ID
在使用随机森林模型进行预测以合并回原始数据帧时,我试图在行上保留一个 ID。我在配方中使用 step_naomit,它在烘焙训练数据时删除了缺少数据的行,但也删除了测试数据中缺少数据的记录。不幸的是,我没有 ID 可以轻松知道哪些记录被删除,因此我可以准确地合并回预测。
我试图在原始数据中添加一个 ID 列,但是 bake 会删除公式中未包含的任何变量(并且我不想在公式中包含 ID)。我还认为我可以保留原始表中的 row.names 以进行合并,但似乎 row.name 在烘焙时也会重置。
我意识到我可以在配方之前删除 NA 值来解决这个问题,但是配方中 step_naomit 的意义何在?我还在 step_naomit 中尝试了 skip=TRUE,但随后在拟合模型时出现丢失数据的错误(仅适用于随机森林)。我觉得我在 tidymodels 中遗漏了一些可以让我在烘焙之前保留所有行的东西?
参见示例:
r - 具有自启动功能和 purrr 的非线性混合效应模型
我过去曾使用 nlme 来拟合和比较非线性模型。我现在想用它来拟合由多个标识符分组的数据的模型。如果我能集成 dplyr、purrr 和 nlme,那就太好了。其中一件好事是使用 nlme 包中的自启动功能。我也有很多模型要运行。我只是不确定它是否会全部融合在一起。
当前的nlme情况。这有效,但仅限于一个分组变量:
所需的工作流程。不起作用,我已经走了多远:
不是故意的,或者我只是不知道该怎么做?
r - Tidyverse - rsample。nested_cv + group_vfold_cv = 错误。插入符号上的嵌套交叉验证(trainControl)
我正在运行以下错误:
错误:
labels
未针对嵌套重采样实现
我不确定它是否正在开发中,或者是否有正确的方式(或不同的方式)在 caret/trainControl 上输入。
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 - grid_random 函数出错:'object' 应该是 'quant_param' 对象
我正在浏览一篇关于 tidymodels(随机森林回归)的博客文章,由于某种原因,我不断收到错误消息:object
当我运行下面的代码块时,我应该是一个 'quant_param' 对象
我该如何摆脱困境?谢谢。