我有一个数据集,其中包含参与者的多个观察结果。参与者用id
表示。为了在交叉验证过程中考虑到这一点,我将blocking = factor(id)
添加到makeClassifTask()
,blocking.cv = TRUE
添加到makeResampleDesc()
。但是,如果我将id
留在数据集中,它将用作预测因子。我的问题是:如何正确使用阻止?我的看法是创建一个新变量,例如participant.id
(在数据集之外),接下来从原始数据集中删除id
,然后使用blocking = factor(participant.id)
,但我不确定这是否是处理阻塞的正确方法。
您可以提供一个自定义因子向量来指定属于一起的观测值,而不是为blocking
提供变量。本教程中也显示了这一点。
这样,您就不需要在数据集中包含变量"participant.id"。
还要确保您确实要使用"阻止"。您是否已经看过"分组"?链接的教程部分也描述了两者之间的差异。