Перейти к содержимому

Обучить модель детекции аномалий

image_1

Описание

Блок позволяет обучить модель детекции аномалий, которая позволяет выявлять аномалии в данных.

Параметры модели

Блок имеет несколько выпадающих списков:

  • Выполнить обучение:
    • Локально - Обучение модели выполняется на компьютере пользователя;
    • Удаленно - Обучение модели выполняется на удаленном компьютере (требуется установка дополнительного серверного компонента на используемый сервер).
  • Алгоритм:
    • LocalOutlierFactor - популярный метод выявления выбросов в машинном обучении. Он работает путем измерения локального отклонения плотности данных относительно их соседей. Алгоритм присваивает каждому экземпляру оценку аномалии, где экземпляры с значительно более низкой плотностью по сравнению с их соседями считаются выбросами;
    • IsolationForest - проводится случайное разбиение пространства признаков, такое, что изолированные точки отсекаются от нормальных кластеризованных данных. Окончательный результат усредняется по нескольким запускам стохастического алгоритма. Алгоритм распознает аномалии различных видов: как изолированной точки с низкой локальной плотностью, так и кластеры аномалий малых размеров.
  • Векторизация:
    • TfidfVectorizer - преобразует текстовые документы в числовые векторы, основанные на методе TF-IDF (Term Frequency-Inverse Document Frequency). Он вычисляет важность каждого слова в документе относительно всего корпуса, учитывая как частоту его появления (TF), так и редкость в других документах (IDF);
    • Word2Vec - позволяет преобразовать слова из корпуса текстов в векторы чисел таким образом, что слова с похожими семантическими значениями имеют близкие векторные представления в многомерном пространстве.

Параметры обучаемой модели

Блок имеет следующие параметры для обучаемой модели:

  • Доля выбросов - Доля выбросов в наборе данных;
  • Регулярное выражение для извлечения токенов (регулярное выражение) - Параметр позволяет определить, как именно будут извлекаться токены (слова или фразы) из текстовых данных (пример: (?u)\\b\\w\\w+\\b - все слова в тексте, которые содержат два или более символов с учетом границ слов, используя Unicode для поддержки различных языков);
  • Использовать группы Токенов/Слов/Символов (при использовании TfidfVectorizer) - Определяет, как будет производиться анализ текстовых данных для извлечения признаков;
    • Минимальная последовательность - определяет минимальное количество n-грамм, которые будут извлечены из текстовых данных;
    • Максимальная последовательность - определяет максимальное количество n-грамм, которые будут извлечены из текстовых данных.

Выбор данных для обучения

Для обучения модели необходимо указать:

  • Данные для обучения - Данные для обучения модели;
  • Использовать колонку - Колонка с данными для обучения.

Выбор места обучения

Для локального обучения:

  • Путь сохранения модели - Путь файла с моделью, которая будет сохранена после обучения.

Для обучения на сервере:

  • Адрес базы данных SQL - Адрес базы данных, в которой хранятся обученные модели;
  • Адрес удаленного сервера - Адрес удаленного сервера для обучения;
  • Сохранить результат обучения в - Путь до файла JSON, в который будет сохранена информация о обученной модели.

Информация о модели

Блок возвращает DataFrame.

  • task_id (*При обучении на сервере) - ID модели на сервере;
  • model - Информация о модели: Алгоритм и выбранные параметры для него;
  • Информация о нагрузке на систему - Нагрузка на центральный процессор, загрузка оперативной памяти, время обучения.

Пример использования

В данном примере блок выполняет обучение модели детекции аномалий.

  1. Формируется обучающая выборка для модели детекции аномалий, включающая несколько классов данных;

    image_2
  2. Выполняется обучение:

    В данном примере блок выполняет локальное обучение модели детекции аномалий:

    image_3

    Созданная модель сохраняется в файл anomaly_model, путь до которого указывается в поле “Путь сохранения модели”.

  3. Информация о модели сохраняется в Excel - Файл:

    Лист1 - Информация о созданной модели:

    • task_id (*При обучении на сервере) - ID модели на сервере;
    • model - Информация о модели: Алгоритм и выбранные параметры для него;
    • Информация о нагрузке на систему - Нагрузка на центральный процессор, загрузка оперативной памяти, время обучения.

Результат

Лист1 - Информация о созданной модели и данные о нагрузке на систему:

image_4

Сохраненный файл с моделью:

image_5