r语言 - 为什么在测试集中split的值为假?



有人能给我解释一下为什么在测试集中split的值是假的吗?

split = sample.split(dataset$Salary, SplitRatio = 2/3)
training_set = subset(dataset, split == TRUE)
test_set = subset(dataset, split == FALSE)

我假设您从某种caTools文档中获得了此代码?我建议试着运行第一行代码,它应该开始有意义了。

基本上,caTools::sample.split所做的是创建一个长度为nrow(x)的随机向量,具有true和false,在给定的比例。让我们以iris数据集为例(有150行):

split = sample.split(iris$Sepal.Length, SplitRatio = 2/3)

结果将是一个150项向量,其中2/3为TRUE, 1/3为FALSE。

接下来,您使用subset函数从iris中提取所有行i,其中split[i] == TRUE用于创建训练集,并使用irisi的所有行split[i] == FALSE创建测试集。

这就是为什么你在训练集中使用split == TRUE而在测试集中使用split == FALSE

最新更新