Как сделать случайно выбранные обучающие наборы пропорционально равных размеров? - PullRequest
0 голосов
/ 12 ноября 2018

Я хочу сделать серию обучающих наборов со случайной выборкой, размер которых точно составляет 75% от полного набора данных.Приведенный ниже код является примером того, чего я хочу достичь, за исключением того, что я всегда хочу 75 выборок из 1 и 25 выборок из 2;этот код дает мне только образцы, которые близки к этим размерам, но не точны.

column <- c(rep("A", 40), rep("B", 60))
data <- as.data.frame(column)            
index <- sample(2,100, replace=TRUE, prob=c(0.75,0.25))

Я хочу иметь возможность добиться такого разделения, без использования дополнительных пакетов и только с базой R, если это возможно,Пакеты, кажется, не работают для меня подавляющее большинство времени, поэтому я уже нашел трудным найти решение.

1 Ответ

0 голосов
/ 12 ноября 2018

Вот как sample предназначен для работы.Вместо этого вы можете рассмотреть два шага:

idxTrain <- sample(100, 75)
head(idxTrain)
# [1] 54 70  3 42 72 67
length(idxTrain)
# [1] 75
idxTest <- setdiff(1:100, idxTrain)
head(idxTest)
# [1]  5  7 13 14 19 24
length(idxTest)
# [1] 25
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...