【发布时间】:2018-12-19 19:06:42
【问题描述】:
我有一个数据集,其中包含 3 个预测变量 (P1-P3) 和 1 个响应变量作为结果 (Response)。数据来自 5 个中心(200 个 ID)。我将整个数据分为训练(70%)和测试(30%)。
样本数据:
ID Centers P1 P2 P3 Response
ID1 Center1 12 1 1 Class1
ID2 Center2 73 1 3 Class2
ID3 Center3 56 2 1 Class1
ID4 Center1 44 1 3 Class2
ID5 Center4 33 1 1 Class1
ID6 Center5 26 1 1 Class2
ID7 Center2 61 1 1 Class1
ID8 Center3 44 1 3 Class2
ID9 Center5 45 1 1 Class1
我想要一个考虑结果变量中心和类别的训练和测试数据集的分区,我可以写的是
library(caret)
set.seed(123)
train.index <- createDataPartition(data$Response, p = .7, list = FALSE)
train <- data[ train.index,]
test <- data[-train.index,]
如何编写代码以使分区从所有中心选择数据?
【问题讨论】:
-
请务必明确提及相关库——这里,
createDataPartition不是base R,而是来自caret,应该在您的问题中明确提及。
标签: r machine-learning partitioning r-caret