Введение

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

Преимущества функциональной инженерии

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

Недостатки функциональной инженерии

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

Методы проектирования функций

Существует несколько методов проектирования признаков. Их немного:

  • Преобразование признаков — Методы преобразования используются, когда данные не являются нормальными. Преобразование помогает нормализовать данные. Примеры: журнал, квадратный корень, обратный и т. д.
  • Масштабирование объектов — Масштабирование используется для уменьшения или увеличения объектов до одного масштаба. Примеры: Выполнение основных математических операций (деление, умножение, сложение и вычитание) с функцией с константой (числом) масштабирует функцию по своему вкусу. Другими примерами являются экспоненциальное масштабирование, масштабирование с использованием стандартного отклонения (стандартное масштабирование), масштабирование для нормализации данных между 0 и 1 (масштабирование MinMax) и т. д.
  • Кодирование функций — кодирование используется для преобразования категориальных переменных в машиночитаемую форму, т. е. числовую форму. Двумя популярными методами являются One-Hot Encoding и Label Encoding.

  • Объединение разреженных классов — этот метод используется при наличии огромного количества категорий. Например, индийские штаты и их население: в этом случае 28 категорий, и ими очень сложно управлять, лучший способ справиться с этой ситуацией — объединить все штаты с более низким населением в others, что уменьшит количество категорий в эта особенность
  • Биннинг: этот метод сегментирует непрерывную переменную на различные категории и создает новую функцию с этими категориями. Например, представьте, что есть столбец возраста. В этом случае мы можем сделать корзины и разделить возраст на teen,adult,middle-age and old-age . Таким образом, у вас будет больше переменных для работы.

  • Feature Interaction: Feature Interaction использует «множество» числовых переменных и создает новую комбинированную переменную, используя базовую математическую операцию. В некоторых случаях новая переменная бесполезна, но чаще всего вы можете получить самую полезную переменную в этом наборе данных. Например, если в наборе данных есть переменные возраста и дохода, можно вывести коэффициент age-to-income.

  • Разработка функций с использованием нулевых значений: Нулевые значения означают те значения, которые не являются неизвестными или неопознанными, что означает, что в некоторых случаях мы можем использовать некоторые изящные приемы, чтобы найти значение этих нулевых значений и использовать эти значения для создания новой функции, которая расшифровывает причину. для нулевых значений.
  • Частотное кодирование: Само название подразумевает метод. Здесь мы используем частоту появления различных классов в переменной и используем ее как кодировку для переменной.
  • Разработка функций с использованием функций даты и времени конкретной переменной: даты являются одной из наиболее важных функций в данных, поскольку они дают больше доказательств для конкретного события в данных. Но чаще всего работать с этой переменной непросто из-за сложности переменных даты и времени. К счастью, у нас есть замечательная библиотека под названием pandas, которая упрощает этот процесс!!! Если переменная не в формате даты и времени, в пандах есть функция с именем pd.to_datetime(), которая преобразует строку в дату и время, с которой мы можем работать относительно проще. df[col].dt — это функция, которую мы используем для извлечения дополнительной информации, такой как год, месяц, неделя и т. д., из функции даты и времени. Ссылка на документацию pandas по различным функциям даты и времени.

Популярные библиотеки, которые использовались для разработки функций

  • pandas — мы используем pandas практически для всего!!! Pandas — это мощная библиотека, которая используется для многих методов разработки функций, таких как биннинг и извлечение функций из функции даты и времени.
  • sklearn — еще один мощный инструмент, который более популярен благодаря своим библиотекам машинного обучения, но также может использоваться для кодирования функций, масштабирования функций и некоторых других методов.
  • featuretools — библиотека с открытым исходным кодом, которая автоматизирует разработку функций на основе математических операций для создания новых функций. Ссылка на документацию featuretools.

Заключение

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

Наконец, спасибо всем моим факультетам GL и Analytics vidhya за то, что они дали мне знания для написания этой статьи 😅

Приятного чтения!!!