Невозможно построить отличное здание на слабом фундаменте. У вас должен быть прочный фундамент, если вы собираетесь иметь сильную супраструктуру.

-Гордон Б. Хинкли

Разработка функций - это ключевой модуль в жизненном цикле проекта в области науки о данных.

Например, вам поручили проект по озеленению, и все, что вам предоставили, - это неровный, засыпанный сорняками задний двор и кучу вещей из розничного строительного магазина, таких как деревянные блоки, грунт, бетонное сырье. Чтобы продолжить, вам нужно записать необходимые шаги, такие как цель проекта, требования, которые необходимо учитывать, и действия, которые вам нужно сделать, чтобы сделать процесс быстрым, легким и эффективным. Нам также может потребоваться предварительная обработка определенных материалов для достижения этой цели. Этот набор всех необходимых материалов и их использование для создания проекта называется проектированием, а когда это делается для функций в проекте Data Science, называется Feature Engineering.

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

Основная цель Feature Engineering - выявление, предварительная обработка или изменение функций, которые способствуют созданию эффективной модели. Для этого есть несколько шагов в зависимости от данных.

1.EDA:

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

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

Исследовательский анализ данных исследует набор данных для типов данных (категориальных или числовых), отсутствующих значений, выбросов, очистки данных, например проверки формата, заголовков и т. Д.

Dtale, Pandas profiling, Sweetviz, Autoviz, Dataprep - это библиотеки, которые могут автоматизировать все EDA вместе с графиками.

2. Обработка отсутствующих значений:

Это можно сделать разными способами, например, вычислить среднее значение, медианное значение, режим, используя такие алгоритмы вменения, как:

  • KNN
  • Вмененное значение LLS, использующее регрессию
  • MICE (множественные вменения с помощью связанных уравнений)
  • CART (деревья классификации и регрессии)
  • GMC impute (вменение кластеризации гауссовой смеси)
  • CMVE (условное исчисление отсутствующей стоимости залога)
  • AMVI (мелиоративное вменение отсутствующих значений)
  • ABBA (вменение подхода на основе адаптивного бикластера)

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

3. Обработка несбалансированного набора данных:

Данные о дисбалансе приводят к необъективным моделям, которые не идеальны. Следовательно, нам нужен способ обработки несбалансированных данных. К этому можно подойти следующими способами:

  • Повторная выборка
  • Больше тренировочных данных
  • Использование K-складки
  • Сгруппируйте изобильный класс
  • Изменение показателей производительности

Мы также можем настроить способ обработки несбалансированных наборов данных.

4. Неисправности:

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

  • Использование точечных диаграмм
  • Коробчатые графики
  • Z-оценка
  • Использование IQR (межквартильный диапазон)
  • Изоляционный лес
  • Кластерный анализ
  • Ансамблевые техники

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

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

  • Стандартный скалер
  • Мин. Макс. Масштабатор (0–1)
  • Преобразования Гаусса, такие как
  • логарифмическое преобразование
  • взаимное преобразование
  • преобразование квадратного корня
  • экспоненциальное преобразование
  • коробка Кокса преобразование

6. Обработка категориальных данных:

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

  • Одно горячее кодирование
  • Кодировка метки
  • Двоичное кодирование
  • Замена
  • Кодирование обратной разницы
  • Подсчет или частотное кодирование

Вывод:

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

Первоначально опубликовано на https://www.numpyninja.com 5 сентября 2021 г.