2016-07-20 5 views
1

С caret пакета, при создании разделов данных 75% обучения и 25% теста, мы используем:Создание раздела данных в R

inTrain<- createDataPartition(y=spam$type,p=0.75, list=FALSE) 

Примечание: набор данных называется spam и целевой переменной называется type

Мой вопрос: в чем заключается цель включения аргумента y=spam$type?

Разве не цель создания разделов данных просто для разделения всего набора данных на основе пропорции, необходимой для обучения и тестирования? Почему существует необходимость включить этот аргумент в код?

+0

не 100%, но я верю, что это просто, чтобы передать команду какой переменной вы разбиваете данные. Я не уверен, что это имеет большое значение, кроме как уточнить, как разделять - проще понять компьютер. –

+0

Где вы получили эту функцию «createDataPartition»? Что выводит 'str (inTrain)? – aichao

+0

@ a.powell Что вы подразумеваете под словом «рассказать .. по какой переменной вы разбиваете данные»? Мое понимание разделения - это просто разбить все данные. Почему мы должны понимать, что «тип» - это моя целевая переменная на данном этапе? Я концептуально недопонимаю идею разделения данных? – Aiden

ответ

4

Я предположил, что рассматриваемый createDataPartition() относится к пакету каретки.

Если аргумент sample$type является фактором, который, как правило, имеет место, случайная выборка происходит внутри каждого класса.

Еще несколько объяснений: например, если бы мы разделили набор данных iris в той же пропорции, что и в вашем вопросе.

attach(iris) 
summary(iris) 

обратите внимание на цифры по каждому виду. Теперь, используя следующую команду:

library(caret) 
inTrain <- createDataPartition(y=Species, p=0.75, list=FALSE) 

inTrain бы приблизительно 75% строк из каждого вида, которые могут быть проверены с помощью следующей команды:

summary(iris[inTrain,]) 

Есть 50 видов в каждой категории, и 38 (приблизительно 75%) были выбраны случайным образом для набора данных обучения.

+0

Да, я имею в виду пакет каретки. sample $ type - целевая переменная, которую я хотел бы предсказать позже, после построения линейной модели. Что вы подразумеваете под «случайной выборкой» в каждом классе? »? – Aiden

+0

Я добавил дополнительные объяснения в ответ. Вы можете легко понять, выбрав другое значение 'p', например. 0.5 и исследуя, сколько строк выбрано для набора тренировок. –

Смежные вопросы