Спробуйте поділ 60/40
Як ви бачили у відео, в цьому розділі ви працюватимете з набором даних Sonar, використовуючи 60% для тренування та 40% для тестування. Ми ще раз потренуємося робити поділ на train/test, щоб упевнитися, що ви добре це засвоїли. Нагадаємо, що функцію sample() можна використати, щоб отримати випадкову перестановку індексів рядків у наборі даних для побудови train/test-поділів, напр.:
n_obs <- nrow(my_data)
permuted_rows <- sample(n_obs)
Потім ці індекси рядків можна використати для випадкового переупорядкування датафрейму, напр.:
my_data <- my_data[permuted_rows, ]
Коли набір даних випадково упорядковано, відокремте перші 60% як тренувальну вибірку, а останні 40% — як тестову вибірку.
Ця вправа є частиною курсу
Machine Learning з пакетом caret в R
Інструкції до вправи
- Отримайте кількість спостережень (рядків) у
Sonarі присвойте її доn_obs. - Перетасуйте індекси рядків
Sonarі збережіть результат уpermuted_rows. - Використайте
permuted_rows, щоб випадково переупорядкувати рядкиSonar, збережіть якSonar_shuffled. - Визначте правильний рядок для поділу 60/40. Збережіть цей номер рядка як
split. - Збережіть перші 60%
Sonar_shuffledяк тренувальну вибірку. - Збережіть останні 40%
Sonar_shuffledяк тестову вибірку.
Інтерактивна практична вправа
Спробуйте виконати цю вправу, доповнивши цей зразок коду.
# Get the number of observations
# Shuffle row indices: permuted_rows
# Randomly order data: Sonar
# Identify row to split on: split
split <- round(n_obs * ___)
# Create train
# Create test