Подготовка данных является жизненно важным, но иногда пропускаемым этапом конвейера машинного обучения. Это то, что я понял во время обучения. Хотя создание сложных моделей глубокого обучения — это весело, использование неверных данных все равно приведет к плохим результатам. мусор на входе, мусор на выходе, как говорится. Разве это не правда?
В этой статье мы обсудим важность подготовки данных и познакомимся с несколькими типичными методами преобразования необработанных данных в состояние, готовое к модели.

Вы спрашиваете, зачем предварительно обрабатывать данные?

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

  1. Повышение точности модели. Предварительная обработка помогает улучшить качество данных, что повышает производительность модели. Ошибки прогнозирования можно уменьшить с помощью таких методов, как управление пропущенными значениями и уменьшение шума.
  2. Сокращение времени обучения модели. При обучении моделей более чистые данные требуют меньше вычислений, что экономит ваше время и ресурсы.
  3. Предотвратите переобучение модели. Модели могут переподходить к странностям, наблюдаемым только в обучающих данных из-за выбросов и шума. Переобучения можно избежать с помощью предварительной обработки.
  4. Согласен с предположениями модели.Некоторые предположения относительно распределения входных данных сделаны несколькими алгоритмами машинного обучения. Предварительная обработка помогает преобразовывать данные в соответствии с этими спецификациями.

Суть в том, что улучшенная производительность модели и эффективность обучения тесно связаны с должным образом предварительно обработанными данными. Не тратьте, не хотите.

Обычные процедуры предварительной обработки данных
Ниже приведены некоторые из наиболее популярных методов подготовки данных.

  1. Забота об отсутствующих значениях

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

  1. Удаление. Удаление строк или столбцов с отсутствующими значениями.
  2. Импутация: замените отсутствующие значения средним, медианой и модой.
  3. Моделирование. Используйте машинное обучение для прогнозирования отсутствующих значений.
    Количество и тип отсутствующих значений в ваших данных определяют наилучший план действий.

Исправление плохих/неправильных данных

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

  1. Статистический анализ. Выявляйте аномалии с помощью статистических методов, таких как z-значения.
  2. Бизнес-логика. Используйте знание предметной области, чтобы выделить нелогичные или абсурдные значения.
  3. Распознавание шаблонов.Выявляйте проблемы с форматами, например недопустимые номера телефонов.

Значения можно добавлять, вычитать или обновлять после обнаружения.

Преобразование типов данных

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

  1. Преобразование типа данных включает преобразование текстов в числовые значения.
  2. Горячее кодирование включает преобразование категорийных данных в двоичные столбцы.
  3. Нормализация включает масштабирование непрерывных значений до заданного диапазона.

Для моделирования необходимы соответствующие типы данных.

Изменение формы данных

Многочисленные алгоритмы требуют данных с определенной структурой или расположением. Типичные действия по изменению формы включают в себя:

  1. Сводные таблицы. Переключение ориентации таблицы со строк на столбцы.
  2. Разделение столбцов. Разделение столбцов, таких как даты, на несколько столбцов,
  3. Агрегирование данных. Сгруппируйте по операциям, чтобы агрегировать данные с разной степенью детализации.
  4. Объединение данных. Объединение различных наборов данных.

Ввод данных может быть изменен в соответствии с ожидаемыми формами модели.

Выбор функций и инженерных решений

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

  1. Извлечение признаков. Примените уменьшение размерности для создания новых составных признаков.
  2. Выбор функций. Удалите лишние или ненужные функции.
  3. Дискретизация. Классификация непрерывных значений по блокам или категориям.
  4. Разложение. Разделение сложных объектов на составные части.

Цель состоит в том, чтобы предоставить модели с наиболее актуальными и образовательными характеристиками для данной проблемы. Не тратьте, не хотите.

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

Важные моменты, которые следует учитывать энтузиастам машинного обучения

Предварительная обработка данных преобразует необработанные данные в формат, который можно использовать для моделирования. Это важный этап, который напрямую влияет на производительность модели.

Вот основные выводы:

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

*** Следите за моей следующей статьей о проектировании и выборе функций ***