НачатьНачать бесплатно

Разбивка на обучающую и тестовую выборки

Как правило, при построении прогностической модели данные делят на две части: на одной модель обучают («обучающая выборка»), а на другой проверяют качество её предсказаний («тестовая выборка»).

sdf_random_split() позволяет разбить датафрейм на обучающую и тестовую выборки. Синтаксис функции выглядит следующим образом.

a_tibble %>%
  sdf_random_split(training = 0.7, testing = 0.3)

Обратите внимание на два важных момента. Во-первых, если сумма долей не равна единице, они будут автоматически нормализованы. Например, если передать training = 0.35 и testing = 0.15, размер каждой части окажется вдвое больше ожидаемого. Во-вторых, вы можете задавать любые названия для частей и делить данные более чем на два подмножества. Следующий вызов также является допустимым.

a_tibble %>%
  sdf_random_split(a = 0.1, b = 0.2, c = 0.3, d = 0.4)

Функция возвращает список тиббл. Обратиться к каждому элементу можно стандартными операторами индексирования списков.

partitioned$a
partitioned[["b"]]

Это упражнение является частью курса

Введение в Spark с sparklyr на R

Посмотреть курс

Инструкции к упражнению

Подключение к Spark уже создано и доступно как spark_conn. Тиббл, привязанный к метаданным треков в Spark, предварительно определён как track_metadata_tbl.

  • С помощью sdf_random_split() разбейте метаданные треков на выборки.
    • Поместите 70% данных в выборку с именем training.
    • Поместите 30% данных в выборку с именем testing.
  • Получите sdf_dim() — размерность обучающей тиббл.
  • Получите размерность тестовой тиббл.

Интерактивное практическое упражнение

Попробуйте выполнить это упражнение, дополнив этот пример кода.

# track_metadata_tbl has been pre-defined
track_metadata_tbl

partitioned <- track_metadata_tbl %>%
  # Partition into training and testing sets
  ___

# Get the dimensions of the training set
___

# Get the dimensions of the testing set
___
Редактировать и запускать код