You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

R语言sample.split划分数据集时测试集split值为FALSE的原因

R语言sample.split拆分逻辑中测试集对应split=FALSE的原因

这是caTools包中sample.split函数的通用用法,核心逻辑非常直白:

  • 首先是函数本身固定的返回规则:你传入的SplitRatio参数,指定的就是返回的布尔向量里取值为TRUE的样本占总样本的比例。当你设置SplitRatio = 2/3时,函数会以Salary字段为分层依据做随机抽样,避免出现训练集、测试集Salary分布偏差过大的问题,最终给总样本量2/3的样本标记TRUE,剩余1/3的样本自动标记FALSE。
  • 这个标记规则刚好匹配机器学习建模的常规划分习惯:训练集通常占总样本的多数(常见比例为2/3、70%、80%),用来拟合模型参数;测试集占少数,用来验证模型的泛化效果。所以大家会直接把TRUE对应的多数样本划入训练集,FALSE对应的剩余样本划入测试集,属于函数设计和行业使用习惯对齐后的通用写法,不是强制的语法要求。
  • 补充说明:布尔标记和数据集身份没有强制绑定关系,如果你把SplitRatio设置为1/3,此时TRUE标记的样本仅占1/3,要是仍需要2/3的样本做训练集,完全可以取split == FALSE的部分作为训练集,本质只是标记和指定比例的映射而已。

涉及的示例代码如下:

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

内容的提问来源于stack exchange,提问作者Amr Ahmed

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.28 20:39:30