Зачем и что такое Feature Engineering в машинном обучении?

Что такое Feature Engineering в машинном обучении и зачем оно нужно?

Преобразование и выбор данных для машинного обучения

Изображение от автора

Введение

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

Инженерия признаков состоит из четырех частей:

  1. Преобразование признаков
  2. Конструирование признаков
  3. Выбор признаков
  4. Извлечение признаков

В этой статье первая часть будет посвящена преобразованию признаков и их различным техникам.

Преобразование признаков

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

Масштабирование:

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

Ключевые моменты:

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

Типы масштабирования:

  1. Стандартизация:
  • При таком типе масштабирования значения сжимаются к среднему значению и стандартному отклонению. Новые преобразованные точки данных будут иметь нулевое среднее и стандартное отклонение, равное единице.
  • Когда мы используем библиотеку Scalar в sklearn, она возвращает массив numpy нового преобразованного столбца, но нам нужны они в виде фрейма данных.
  • Используется, когда нет идеи, на какую модель применять.