Отладка данных и функций

Данные низкого качества существенно повлияют на производительность вашей модели. Гораздо проще обнаружить некачественные данные на входе, чем догадываться о их существовании после того, как ваша модель плохо предсказывает. Отслеживайте свои данные, следуя советам в этом разделе.

Подтвердите входные данные Используя схему данных

Чтобы контролировать свои данные, вы должны постоянно проверять свои данные на соответствие ожидаемым статистическим значениям, записывая правила, которым должны удовлетворять данные. Этот набор правил называется схемой данных . Определите схему данных, выполнив следующие действия:

  1. Для ваших данных о функциях поймите диапазон и распределение. Для категориальных функций следует понимать набор возможных значений.
  2. Закодируйте свое понимание в правила, определенные в схеме. Примеры правил:

    • Убедитесь, что пользовательские рейтинги всегда находятся в диапазоне от 1 до 5.
    • Убедитесь, что «the» встречается чаще всего (для функции английского текста).
    • Убедитесь, что категориальные признаки имеют значения из фиксированного набора.
  3. Проверьте свои данные на соответствие схеме данных. Ваша схема должна обнаруживать такие ошибки данных, как:

    • аномалии
    • неожиданные значения категориальных переменных
    • неожиданное распространение данных

Убедитесь, что сплиты хорошего качества

Ваши тестовые и тренировочные сплиты должны быть в равной степени репрезентативными для ваших входных данных. Если тестовые и тренировочные сплиты статистически различны, то тренировочные данные не помогут предсказать тестовые данные. Чтобы узнать, как выполнять выборку и разделение данных, см. раздел « Выборка и разделение данных » в курсе «Подготовка данных и разработка функций в ML».

Следите за статистическими свойствами ваших сплитов. Если свойства расходятся, поднимите флаг. Кроме того, проверьте, что соотношение примеров в каждом разделении остается постоянным. Например, если ваши данные разделены 80:20, это соотношение не должно измениться.

Тестовые инженерные данные

Хотя ваши необработанные данные могут быть действительными, ваша модель видит только данные инженерных объектов. Поскольку инженерные данные сильно отличаются от необработанных входных данных, вам необходимо проверять инженерные данные отдельно. Основываясь на своем понимании инженерных данных, напишите модульные тесты. Например, вы можете написать модульные тесты для проверки следующих условий:

  • Все числовые признаки масштабируются, например, от 0 до 1.
  • Векторы с горячим кодированием содержат только одну единицу и N-1 нулей.
  • Отсутствующие данные заменяются средними значениями или значениями по умолчанию.
  • Распределения данных после преобразования соответствуют ожиданиям. Например, если вы нормализовали с помощью z-показателей, среднее значение z-показателей равно 0.
  • Выбросы обрабатываются, например, путем масштабирования или обрезки.