Випадкове упорядкування датафрейму
Один зі способів зробити поділ набору даних на тренувальну й тестову вибірки — випадково переупорядкувати записи, а потім розділити на дві частини. Так ми гарантуємо, що і тренувальна, і тестова вибірки є випадковими підвибірками та що будь-які упередження первинного порядку в наборі даних (наприклад, якщо його спочатку було відсортовано за ціною чи розміром) не збережуться у вибірках, які ми беремо для навчання й тестування моделей. Це приблизно як перетасувати нову колоду карт перед роздачею.
Спочатку встановіть випадкове зерно, щоб забезпечити відтворюваність і отримувати той самий випадковий поділ щоразу, коли запускаєте скрипт:
set.seed(42)
Далі скористайтеся функцією sample() щоб перетасувати індекси рядків у наборі даних diamonds. Згодом ви зможете використати ці індекси для переупорядкування набору даних.
rows <- sample(nrow(diamonds))
Нарешті, використайте цей випадковий вектор, щоб переупорядкувати набір даних diamonds:
diamonds <- diamonds[rows, ]
Ця вправа є частиною курсу
Machine Learning з пакетом caret в R
Інструкції до вправи
- Встановіть випадкове зерно на 42.
- Створіть вектор індексів рядків під назвою
rows. - Випадково переупорядкуйте датафрейм
diamonds, записавши результат уshuffled_diamonds.
Інтерактивна практична вправа
Спробуйте виконати цю вправу, доповнивши цей зразок коду.
# Set seed
# Shuffle row indices: rows
# Randomly order data