Выборка и разделение данных

Введение в выборку

Часто бывает сложно собрать достаточно данных для проекта машинного обучения. Однако иногда данных слишком много , и для обучения необходимо выбрать подмножество примеров.

Как выбрать это подмножество? В качестве примера рассмотрим поиск Google. С какой степенью детализации вы бы выбрали его огромные объемы данных? Вы бы использовали случайные запросы? Случайные сеансы? Случайные пользователи?

В конечном счете, ответ зависит от проблемы: что мы хотим предсказать и какие функции нам нужны?

  • Чтобы использовать функцию « предыдущий запрос », необходимо выполнить выборку на уровне сеанса, поскольку сеансы содержат последовательность запросов.
  • Чтобы использовать поведение пользователей функции из предыдущих дней , вам необходимо выполнить выборку на уровне пользователя.

Фильтрация PII (личной информации)

Если ваши данные включают PII (личную информацию), вам может потребоваться отфильтровать ее из ваших данных. Например, политика может потребовать от вас удалить редко используемые функции.

Эта фильтрация исказит ваш дистрибутив. Вы потеряете информацию в хвосте (часть распределения с очень низкими значениями, далекой от среднего).

Эта фильтрация полезна, потому что очень редкие функции трудно изучить. Но важно понимать, что ваш набор данных будет смещен в сторону головных запросов. При подаче времени вы можете ожидать худших результатов при подаче примеров из хвоста, поскольку это были примеры, которые были отфильтрованы из ваших обучающих данных. Хотя этого перекоса нельзя избежать, помните о нем во время анализа.