首页 > 解决方案 > sample.split 中 group 参数的目的是什么?

问题描述

我一直在阅读CaTools 包中的文档sample.split我正在努力思考使用该group参数的任何实际理由。有没有看到实际应用的领域?在我自己尝试的过程中,我什至找不到一个很好的理由来输入一个与我的数据集长度相同的向量。

标签: rsplit

解决方案


如果我们通过?sample.split'group' 中的示例,它将作为一个块进行采样,而不使用 group,它是不同的。根据?sample.split

group - 当每个样本存在多个副本时使用的可选向量/列表。在这种情况下,组包含唯一的样本标签,用相同的标签标记同一样本的所有副本,并且该函数尝试将所有副本放在训练或测试子集中。如果提供,则必须与 Y 具有相同的长度。

library(MASS)
library(caTools)
data(cats)   # load cats data
Y <- cats[,1] # extract labels from the data
msk1 <- sample.split(Y, SplitRatio=3/4)


g <- rep(seq(length(Y)/4), each=4); g[48]=12;
msk2 <- sample.split(Y, SplitRatio=3/4, group=g)


推荐阅读