Это не баг, а фича: генерация признаков для Data Mining

Генерация признаков – пожалуй, самый творческий этап подготовки данных (Data Preparation) для машинного обучения (Machine Learning). Этот этап еще называют Feature Engineering. Он наступает после того, как выборка сформирована и очистка данных завершена. В этой статье мы поговорим о том, что такое признаки, какими они бывают и как Data Scientist их генерирует.

Признаки для Data Mining: определение и виды

Признак (фича, feature) – это переменная, которая описывает отдельную характеристику объекта. В табличном представлении выборки признаки – это столбцы таблицы, а объекты – строки [1]. Входные, независимые, переменные для модели машинного обучения называются предикторами, а выходные, зависимые, – целевыми признаками. Все признаки могут быть следующих видов [2]:

  • бинарные, которые принимают два значения, например, {true, false}, {0,1}, {-1,1}, {«да», «нет»} и т.д.;
  • номинальные (факторы), которые имеют конечное количество уровней, например, фактор «день недели» имеет именованных 7 уровней: понедельник, вторник и т. д. Факторы могут быть упорядоченными и неупорядоченными. Например, фактор «час суток» имеет 24 уровня и он упорядочен. Фактор «район города» с 32 уровнями не упорядочен, поскольку все уровни имеют равную значимость. Если фактор упорядочен, это стоит явно указать при его объявлении.
  • количественные (числовые) значения в диапазоне от минус бесконечности до плюс бесконечности.

Признаки могут извлекаться из данных любого типа, в т.ч. из текста, изображений и геоданных. При обработке текстовой информации сначала выполняется ее токенизация, а затем лемматизация и цифровизация – перевод слов в числовые вектора. Этому процессу мы посвятили отдельную статью. В случае изображений зачастую анализируется не только содержание картинки как набора пикселей различного цвета, но и метаданные графического файла: дата съемки, разрешение, модель камеры и т.д. Географические данные чаще всего представлены в виде адресов (текст) или пар «широта + долгота» (числовых наборов – точек) [3].

Подготовка данных для Data Mining на Python

Код курса
DPREP
Ближайшая дата курса
по запросу
Продолжительность
32 ак.часов
Стоимость обучения
72 000 руб.

Как проходит генерация признаков: 3 задачи этого этапа Data Mining и способы их решения

Генерация признаков включает в себя 3 взаимосвязанные задачи [3], каждой из которых мы посвятили отдельную статью:

  • извлечение признаков (feature extraction) – превращение данных, специфических для предметной области, в понятные для модели числовые векторы. В частности, именно здесь выполняется токенизация и лемматизация текстов, обработка изображений и геоданных;
  • преобразование признаков (feature transformation) – изменение данных для повышения точности алгоритма, например, нормализация или изменение вероятностного распределения;
  • отбор признаков (feature selection) – отсечение ненужных признаков с помощью алгоритмов машинного обучения, которые позволяют оценить важность предиктора, например, жадный алгоритм, логистическая регрессия, случайный лес, градиентный бустинг [4].

Чаще всего для Feature Engineering используются специализированные инструменты типа Featuretools, Trane, Feature Hub и комплексные ML-фреймворки, автоматизирующие создание конвейеров машинного обучения: MLBox, H2O, Auto Sklearn, TPOT и пр. Также Data Scientist может вручную выполнять Feature Engineering, самостоятельно написав Python-скрипты с учетом особенностей данных и предметной области, а также бизнес-потребностей. О том, как реализовать генерацию фич с помощью SQL-запросов, напрямую обращаясь к пакетным и потоковым источникам данных, читайте в нашей новой статье.

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

Разработка и внедрение ML-решений

Код курса
MLOPS
Ближайшая дата курса
27 мая, 2024
Продолжительность
24 ак.часов
Стоимость обучения
54 000 руб.

Узнайте больше про практическое применение Apache Hive и других компонентов экосистемы Hadoop для реализации проектов Machine Learning и эффективной аналитики больших данных на специализированных курсах в нашем лицензированном учебном центре обучения и повышения квалификации для разработчиков, менеджеров, архитекторов, инженеров, администраторов, Data Scientist’ов и аналитиков Big Data в Москве:

Источники

  1. https://bigdataschool.ru/blog/data-preparation-operations.html
  2. https://www.mql5.com/ru/articles/2029
  3. https://habr.com/ru/company/ods/blog/325422
  4. http://datareview.info/article/universalnyj-podxod-pochti-k-lyuboj-zadache-mashinnogo-obucheniya/

 

6 Comments

Комментарии закрыты.

Поиск по сайту