Быстрый выбор функций с помощью Featurewiz

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

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

Прочтите эту статью, чтобы узнать 7 техник выбора функций.

В этой статье мы сосредоточимся на автоматизации рабочего процесса выбора функций с помощью пакета Python с открытым исходным кодом - Featurewiz.

Featurewiz:

Featurewiz - это библиотека с открытым исходным кодом, используемая для создания и выбора лучших функций из набора данных, которые в дальнейшем можно использовать для обучения надежной модели науки о данных. Featurewiz также предлагает возможности разработки функций. Он может создавать сотни новых функций одним щелчком кода. В Featurewiz API есть параметр ‘feature_engg’, который можно установить на ‘interactions’, ‘group by’ и ‘target’, и он создаст сотни функций за один раз.

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

Как Featurewiz работает под капотом?

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

  • СУЛОВ
  • Рекурсивный XGBoost

СУЛОВ:

SULOV означает поиск некоррелированного списка переменных, что очень похоже на алгоритм mRMR. Шаги алгоритмов SULOV следующие:

  1. Вычислите все пары коррелированных переменных, которые превышают пороговое значение.
  2. Вычислить MIS (Mutual Information Score) по отношению к целевой переменной.
  3. Сравните каждую пару коррелированных переменных и удалите функции с низким MIS.
  4. Остальные функции имеют высокий MIS и низкую корреляцию.

Рекурсивный XGBoost:

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

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

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

Установка и использование:

Featurewiz можно установить с помощью Pypl

pip install featurewiz

После установки featurewiz можно импортировать:

from featurewiz import featurewiz

Теперь разработчику нужно написать только одну строку кода, чтобы получить лучший набор функций из набора данных.

out1, out2 = featurewiz(dataname, target, corr_limit=0.7, verbose=0,   sep=",", header=0, test_data="", feature_engg="", category_encoders="")

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

Заключение:

В этой статье мы обсудили функциональность библиотеки с открытым исходным кодом, которая автоматизирует выбор функций для набора данных. Наряду с выбором функций, featurewiz также может выполнять проектирование функций и генерировать сотни функций одним щелчком кода.
Featurewiz использует два алгоритма (SULOV и рекурсивный XGBoost) для выбора наилучшего набора функций. Featurewiz ускоряет рабочий процесс специалиста по данным, выполняя полный выбор функций одним щелчком одной строки кода. Специалист по анализу данных может использовать несколько методов выбора функций, чтобы отфильтровать лучшие из них. Вы можете прочитать 7 из этих методов выбора функций в указанной ниже статье.



Использованная литература:

[1] Репозиторий Featurewiz на GitHub: https://github.com/AutoViML/featurewiz

Спасибо за чтение