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

如何在R的tidymodels中基于双变量执行分层抽样拆分训练测试集

基于多变量的分层抽样拆分数据集(tidymodels)

要同时基于cyl和gear两个变量实现分层抽样,只需要在initial_split()的strata参数里传入包含这两个变量的向量即可,用c()把变量名组合起来就行。

修改后的完整可复现代码如下:

library(tidymodels)
library(tidyverse)

# 基于cyl和gear两个变量分层拆分数据集
split <- initial_split(mtcars, prop = 0.7, strata = c(cyl, gear))
train <- split %>% training()
test <- split %>% testing()

验证分层效果(可选)

可以检查训练集和测试集中cyl与gear的组合分布是否一致,确保抽样是按分层比例执行的:

# 查看训练集的组合分布及占比
train %>% count(cyl, gear) %>% mutate(prop = n / sum(n))

# 查看测试集的组合分布及占比
test %>% count(cyl, gear) %>% mutate(prop = n / sum(n))

对比两组的prop列,就能确认两个数据集里各变量组合的占比和原数据集基本一致,实现了多变量分层抽样的效果。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.29 23:18:12