Автоматическое создание признаков
Благодаря функции автоматического создания признаков Qlik AutoML может создавать новые признаки, используя существующие признаки в данных для обучения. Такие новые автоматически созданные признаки позволяют выявлять новые шаблоны в данных и могут значительно улучшить производительность моделей машинного обучения.
Создание признаков — это процесс создания новых столбцов признаков на основе существующих. AutoML может автоматически создавать признаки для улучшенной обработки определенных типов данных. Для получения общих сведений о создании признаков см. раздел Создание новых столбцов признаков.
Автоматически созданные признаки даты и родительские признаки, на основе которых они созданы, помечены значком .
После выбора набора данных для использования в эксперименте выполняется анализ этого набора, и содержащиеся в нем столбцы идентифицируются как содержащие те или иные типы данных. Эти типы данных позволяют AutoML назначить тип признака каждому столбцу в наборе данных. Каждому столбцу присваивается один из следующих типов признака:
-
Категориальный
-
Числовой
-
Дата
-
Произвольный текст
Когда возможно, AutoML отображает список признаков, которые можно автоматически создать на основе удовлетворяющих критериям родительских признаков. Этот список автоматически созданных признаков дополнительно уточняется и сокращается после начала предварительной обработки. Включение автоматически созданных признаков в эксперимент рекомендуется, но не является обязательным. Можно удалять отдельные автоматически созданные признаки перед началом обучения и при настройке конфигурации каждой новой версии эксперимента.
Для получения дополнительной информации о процессах, завершенных до начала обучения эксперимента, см. раздел Автоматическая подготовка и преобразование данных.
Создание признаков даты
AutoML автоматически создает признаки из удовлетворяющих критериям столбцов с типом признака даты, которые идентифицированы, как содержащие данные даты и времени. Автоматически созданные признаки даты и родительские признаки, на основе которых они созданы, помечены значком .
Когда Аналитика Qlik Cloud создает профиль набора данных для обучения, выбранного для использования в AutoML, с типом признака даты связываются определенные типы данных. Сюда относятся следующие типы данных:
-
Дата
-
Дата и время
-
Время
-
Метка времени
Признаки, которым назначаются любые из этих типов данных во время профилирования, получают тип признака даты. Для получения информации о доступной статистике профиля, которую можно просматривать для полей данных, см. раздел Профиль в виде списка.
Когда возможно, AutoML отображает список признаков даты, которые можно автоматически создать на основе удовлетворяющих критериям родительских признаков, имеющих тип признака даты. Автоматически созданные признаки даты включаются в эксперимент по умолчанию. Если решено включить их, новые признаки создаются после завершения эксперимента версии 1.
Автоматически созданные признаки даты относятся к числовому типу признака. Они включены в эксперимент по умолчанию, но не являются обязательными. Можно удалить некоторые или все такие признаки до начала эксперимента или в процессе настройки следующей версии эксперимента. При включении автоматически созданных признаков даты из эксперимента удаляется исходный родительский признак даты.
Вместо этого можно включить родительский признак даты как категориальный или числовой признак. После этого автоматически созданные признаки даты станут непригодными к использованию. В большинстве случаев рекомендуется использовать в эксперименте доступные автоматически созданные признаки, так как они повышают производительность моделей машинного обучения. Однако могут возникать ситуации, когда столбец идентифицируется как признак даты, но его требуется обрабатывать как категориальный или числовой. В таких случаях можно вручную изменить тип признака.
Автоматически созданные признаки даты не учитываются в общем размере набора данных AutoML (максимальное количество ячеек в наборах данных для обучения и в наборах данных для применения), который указан в подписке Qlik Cloud. Засчитываются только исходные ячейки столбцов данных.
Использование признаков даты в качестве цели эксперимента
В редких случаях, когда требуется использовать признак с данными даты и времени в качестве цели эксперимента, тип признака столбца переключается с типа даты на категориальный тип, а автоматически созданные признаки удаляются. Если выбрать другую цель, а затем повторно добавить признак даты и времени в качестве обычного признака, то при необходимости нужно будет вручную изменить тип этого признака на «Дата». Если снова назначить признаку тип даты, то признаки даты будут автоматически созданы повторно.
Для получения дополнительной информации об изменении типа признака см. раздел Изменение типов признаков.
Доступные автоматически созданные признаки
При автоматическом создании признаков даты на основе столбца в наборе данных AutoML извлекает и рассчитывает специфические компоненты каждого значения даты и даты-времени, изолируя каждый компонент в отдельном столбце. В таблице ниже перечислены признаки, которые AutoML может создавать автоматически.
автоматически созданный признак | Тип данных | Тип признака | Описание |
---|---|---|---|
YEAR | Целое | Числовой | Значение поля года извлекается непосредственно из исходной даты или метки времени. |
MONTH | Целое | Числовой | Значение поля месяца извлекается непосредственно из исходной даты или метки времени. |
DAY | Целое | Числовой | Значение поля дня извлекается непосредственно из исходной даты или метки времени. |
HOUR | Целое | Числовой | Значение поля часа извлекается непосредственно из исходной метки времени. |
MINUTE | Целое | Числовой | Значение поля минуты извлекается непосредственно из исходной метки времени. |
SECOND | Целое | Числовой | Значение поля секунды извлекается непосредственно из исходной метки времени. |
DAYOFWEEK | Целое | Числовой | День недели, рассчитанный на основе исходного дня, месяца и года. |
WEEK | Целое | Числовой | Неделя года, рассчитанная на основе исходного дня, месяца и года. |
Для каждого нового созданного признака к исходному имени столбца добавляется в виде суффикса имя соответствующего автоматически созданного признака.
Автоматически созданные признаки в прогнозах
Признаки даты автоматически создаются, когда набор данных для обучения используется для создания модели, которая разворачивается и используется в качестве развертывания машинного обучения для прогнозирования новых данных (набор данных для применения).
Когда модель, обученная с использованием автоматически созданных признаков даты, разворачивается с целью прогнозирования, набор данных для применения, на основе которого создаются прогнозы, не должен обязательно включать автоматически созданные признаки даты. AutoML автоматически создает признаки для набора для применения перед прогнозированием. Однако набор данных для применения должен включать родительский признак даты, и столбцу должен быть назначен тип данных Date, Datetime, Timestamp или Time.
Наборы данных для прогнозирования, созданные развертыванием машинного обучения, включая SHAP и наборы данных для применения, будут включать автоматически созданные признаки даты.
Автоматически созданные признаки в прогнозах в реальном времени
Чтобы API-интерфейс прогнозирования в реальном времени мог обрабатывать поля даты и меток времени, полезная нагрузка JSON, отправляемая в этот API, должна соответствовать перечисленным ниже требованиям:
-
Значения даты и времени-даты должны быть в формате строки согласно стандартам ISO 8601
-
Данные в каждом столбце должны относиться к одному часовому поясу
Обработка данных произвольного текста
Чтобы использовать в модели произвольный текст (например, данные текстовых строк, введенные в формы), требуется его особая обработка алгоритмами машинного обучения. В Qlik AutoML обработка произвольного текста относится к автоматическому созданию признаков. С технической точки зрения, эта обработка осуществляется методом TF-IDF (term frequency - inverse document frequency, частота термина ― обратная частота документа).
AutoML поддерживает отдельную обработку признаков с данными произвольного текста на английском языке.
Если столбец в данных для обучения содержит произвольный текст, он относится к типу признака «Произвольный текст». Он также может использоваться в качестве категориального признака, хотя это крайне нежелательно в случае высокой кардинальности (слишком много уникальных значений).
Можно выбрать максимум три столбца для использования в качестве признаков произвольного текста в эксперименте.
Требования для кодирования произвольного текста
Чтобы успешно закодировать столбец, содержащий произвольный текст, в качестве произвольного текста, должны выполняться два требования. Эти требования проверяются на разных этапах создания эксперимента.
Предъявляемые требования:
-
Среднее количество символов в столбце должно быть 50 символов или больше.
-
Среднее количество слов в столбце должно быть пять слов или больше.
Обработка признака в качестве произвольного текста
Процесс обработки признака в качестве произвольного текста проходит следующим образом:
-
При выборе данных для обучения Qlik AutoML идентифицирует признаки, которые могут быть обработаны в качестве произвольного текста. Они помечаются наблюдением Возможен произвольный текст в виде схемы и будут иметь тип признака «Произвольный текст».
-
После выполнения версии v1 эксперимента проводится дополнительный анализ. На этом этапе признаки, первоначально помеченные как возможный произвольный текст, могут оказаться неприменимыми в качестве признаков произвольного текста.
Если признаки, неприменимые в качестве произвольного текста, имеют высокую кардинальность, рекомендуется исключить их из эксперимента. Когда такие признаки обрабатываются в качестве категориальных признаков, они не приносят пользы для производительности модели.
Если признаки, которые нельзя использовать в качестве произвольного текста, имеют невысокую кардинальность, их можно включить в эксперимент, щелкнув Рассматривать признак как категориальный или выбрав в поле Тип признака «Категориальный» вместо «Произвольный текст». Если оставить тип признака «Произвольный текст», признак будет обрабатываться внутренними алгоритмами как категориальный и задаваться методом кодирования влияния.
Для получения полных сведений о предварительной обработке см. раздел Автоматическая подготовка и преобразование данных.
Для получения дополнительной информации о каждом наблюдении, отображаемом в виде схемы, см. раздел Просмотр наблюдений о данных для обучения.
Использование признака произвольного текста в качестве цели эксперимента
В редких случаях признак произвольного текста может выбираться в качестве цели. Если признак соответствует всем требованиям для кодирования произвольного текста и содержит от двух до десяти уникальных значений, его можно использовать в качестве цели. В таких сценариях эксперимент определяется как стандартная задача двоичной или многоклассовой классификации.
Признаки произвольного текста в прогнозах
Когда выполняется развертывание модели, обученной с использованием признака произвольного текста, полученное развертывание модели обучения может создавать прогнозы, если выполняются следующие требования к набору данных для применения:
-
Имена столбцов признаков совпадают в наборе данных для обучения и в наборе данных для применения
-
Столбец в наборе данных для применения, соответствующий признаку произвольного текста в данных для обучения, содержит строковые данные
Замечания
Включение признаков произвольного текста увеличивает сложность эксперимента и процессов, необходимых для его выполнения. Диаграммы Важность перестановки могут оказаться недоступными для итоговых моделей, если данные произвольного текста будут достаточно сложными.
Поиск и устранение неисправностей
При обучении модели с использованием данных произвольного текста могут интенсивно расходоваться ресурсы. Может возникать ошибка при включении столбцов с произвольным текстом, которые содержат большое количество уникальных слов в качестве признаков.
Ниже приводятся рекомендации по исправлению таких ошибок.
-
Сократите объем подмножества данных в наборе данных для обучения, чтобы он включал меньше строк произвольного текста
-
Удалите признаки произвольного текста, которые не требуется включать в обучение модели.
-
Обрабатывайте один или несколько столбцов с произвольным текстом в качестве категориальных признаков, а не произвольного текста. Обратите внимание, что это не рекомендуется, если такие признаки произвольного текста имеют высокую кардинальность.