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

Введение

Давайте теперь поговорим о «топливе» разработки признаков, которым являются «функции». Функция — это измеримое свойство в наборе данных, и функция используется в качестве входных данных для модели машинного обучения. Функции — это независимые переменные, используемые моделями машинного обучения для прогнозирования, которые могут быть как непрерывными, так и дискретными значениями. Так, например, если нам нужна модель, предсказывающая наличие у пациента определенных заболеваний, мы используем возраст, кровяное давление и т. д. в качестве входных данных для прогнозирования.

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

Зачем нам нужна фиче-инжиниринг?

Многое может случиться и заставить модель сделать неправильный прогноз. Плохие характеристики — один из таких факторов.

Давайте поговорим о влиянии разработки признаков на алгоритмы ML:

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

Инжиниринг признаков — это инструментарий, используемый, когда алгоритм не может извлечь уроки из данных и упускает одно из вышеуказанных свойств.

Разработка функций и рабочий процесс машинного обучения

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

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

2. Методы выбора признаков

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

я. Методы фильтрации:
это статистические методы, используемые для «отфильтровывания» ценных функций. Это может быть использовано для любой модели и обычно выполняется перед моделированием. Они включают коэффициенты корреляции, chi², ANOVA, расчеты взаимной информации и т. д.

II. Методы-оболочки:
Этот метод зависит от стратегии «жадного поиска». Эта стратегия зависит от выбора подмножества функций, обучения модели и их оценки. Затем предыдущие шаги повторяются с другим подмножеством признаков. Наконец, снова обучите модель, пока не будет достигнута самая производительная модель с лучшими функциями. Обычно критерии остановки используются в зависимости от количества функций или достижения желаемой производительности. Этот метод применяется путем прямого выбора функции, обратной функции исключения или последовательного плавающего.

III. Встроенные методы.
Этот метод обычно реализуется на этапе построения модели. Этот метод зависит от некоторых методов, встроенных в каждый алгоритм. Например, Lasso и Ridge — это два метода регуляризации, используемые для настройки модели, чтобы она лучше обобщала невидимые данные. Кроме того, древовидные модели имеют встроенную функцию для определения важности каждой функции.

3. Методы уменьшения размерности:
Этот метод в основном используется, когда имеющиеся данные имеют проблему, которая является «Проклятием размерности». Уменьшение размерности позволяет ускорить время выполнения и повысить производительность. Таким образом, этот инструмент удобен при работе с набором данных высокой размерности и экономит много вычислительного времени и ресурсов. Наиболее популярными методами уменьшения размерности являются анализ главных компонентов (PCA), линейный дискриминантный анализ (LDA) и т. д.

Краткое содержание

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

Ресурсы:

  1. https://medium.com/@orinangare/feature-engineering-and-selection-for-machine-learning-with-python-61c4d2eebfeb
  2. https://www.codecademy.com/learn/paths/fe-path-feature-engineering
  3. https://github.com/glc12125/Machine-Learning-Workflow-with-Python