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

Описание
Блок позволяет обучить модель детекции аномалий, которая позволяет выявлять аномалии в данных.
Параметры модели
Блок имеет несколько выпадающих списков:
- Выполнить обучение:
- Локально - Обучение модели выполняется на компьютере пользователя;
- Удаленно - Обучение модели выполняется на удаленном компьютере (требуется установка дополнительного серверного компонента на используемый сервер).
- Алгоритм:
- 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 - Информация о модели: Алгоритм и выбранные параметры для него;
- Информация о нагрузке на систему - Нагрузка на центральный процессор, загрузка оперативной памяти, время обучения.
Пример использования
В данном примере блок выполняет обучение модели детекции аномалий.
-
Формируется обучающая выборка для модели детекции аномалий, включающая несколько классов данных;
-
Выполняется обучение:
В данном примере блок выполняет локальное обучение модели детекции аномалий:
Созданная модель сохраняется в файл anomaly_model, путь до которого указывается в поле “Путь сохранения модели”.
В данном примере блок выполняет обучение модели детекции аномалий на сервере:
В поле “Сохранить результат обучение в” указывается JSON файл “info_model.json”, в который сохраняется информация о созданной модели на сервере.
-
Информация о модели сохраняется в Excel - Файл:
Лист1 - Информация о созданной модели:
- task_id (*При обучении на сервере) - ID модели на сервере;
- model - Информация о модели: Алгоритм и выбранные параметры для него;
- Информация о нагрузке на систему - Нагрузка на центральный процессор, загрузка оперативной памяти, время обучения.
Результат
Лист1 - Информация о созданной модели и данные о нагрузке на систему:

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

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

Содержимое файла info_model.json
{ "task_id": "d7c09344-ff40-4afd-9031-20c7331ec69a", "type": "text_anomaly_detection", "model": "IsolationForest(contamination=0.2), TfidfVectorizer()", "metrics": [], "cpu_usage": { "cpu_percent": 0.708270864567716, "ram_MB": 416.5566669790105 }, "time": 0.16965723037719727}