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

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

image_1

Описание

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

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

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

  • Выполнить обучение:
    • Локально - Обучение модели выполняется на компьютере пользователя;
    • Удаленно - Обучение модели выполняется на удаленном компьютере (требуется установка дополнительного серверного компонента на используемый сервер).
  • Алгоритм:
    • Auto - Автоматический выбор на основе метрик;
    • RandomForestClassifier - Представляет собой ансамбль деревьев решений, используемый для задач классификации. Сначала формируется случайная подвыборка данных из обучающего набора с заменой (bootstrap sample). На основе этой подвыборки строится решающее дерево, при этом на каждом узле выбирается лучший разделитель из случайного подмножества признаков;
    • GradientBoostingClassifier - Метод машинного обучения, основанный на идее построения ансамбля слабых моделей, обучаемых последовательно с целью минимизации функции потерь с использованием градиентного спуска. В процессе работы алгоритма каждая новая модель настраивается на остатки предыдущих моделей, улучшая предсказательную способность ансамбля на каждой итерации;
    • KNeighborsClassifier - Метод машинного обучения, используемый для задач классификации на основе ближайших соседей. Основная идея заключается в том, что объекты с похожими признаковыми описаниями склонны принадлежать к одному классу;
    • SGDClassifier - Метод машинного обучения, основанный на нахождении оптимального коэффициента линейных классификаторов, обновляя параметры модели с помощью градиента функции потерь. Этот метод особенно полезен при работе с большими наборами данных, поскольку обновляет параметры модели на небольших подвыборках, избегая необходимости обрабатывать весь набор данных и экономя вычислительные ресурсы;
    • SVC - Метод, основанный на концепции Support Vector Machines (SVM), которая строит гиперплоскость в пространстве признаков, разделяющую классы с максимальным зазором между ними;
    • MLPClassifier - Многослойный перцептрон.
  • Векторизация:
    • TfidfVectorizer - преобразует текстовые документы в числовые векторы, основанные на методе TF-IDF (Term Frequency-Inverse Document Frequency). Он вычисляет важность каждого слова в документе относительно всего корпуса, учитывая как частоту его появления (TF), так и редкость в других документах (IDF);
    • Word2Vec - позволяет преобразовать слова из корпуса текстов в векторы чисел таким образом, что слова с похожими семантическими значениями имеют близкие векторные представления в многомерном пространстве.

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

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

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

Параметры для алгоритма RandomForestClassifier:

  • Минимальное количество листьев - определяет минимальное количество образцов (или экземпляров), которые должны быть в листовом узле дерева;
  • Длина дерева - определяет максимальную глубину дерева решений;
  • Учет дисбаланса - позволяет учитывать несбалансированные классы в классификации.

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

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

  • Данные для обучения - Данные для обучения модели;
  • Использовать колонки - Список колонок с данными для обучения;
  • Название целевой колонки - Название колонки, содержащей категории, соответствующие обучающим данным.

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

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

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

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

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

Используемые метрики

При обучении используются метрики:

  • Точность (f1_macro) - метрика оценки качества модели машинного обучения, которая вычисляется как среднее гармоническое F1-меры для каждого класса. F1-мера для каждого класса рассчитывается как среднее гармоническое точности и полноты.
  • Аккуратность (accuracy) - метрика оценки качества модели машинного обучения, которая измеряет долю правильных предсказаний, сделанных моделью, относительно общего числа предсказаний. Она вычисляется как отношение числа правильно классифицированных объектов ко всем объектам в тестовой выборке.
  • Средняя полнота по всем классам (recall_macro) - метрика оценки качества модели машинного обучения, которая вычисляется как среднее арифметическое полноты для каждого класса. Полнота для каждого класса определяется как отношение числа правильно предсказанных положительных примеров к общему числу реальных положительных примеров в этом классе.
  • Общая полнота по всем классам (recall_micro) - это метрика оценки качества модели машинного обучения, которая вычисляется как общая полнота по всем классам путем суммирования числителей и знаменателей для всех классов и последующего вычисления отношения.
  • Матрица ошибок (confusion_matrix) - это инструмент, используемый для оценки качества работы классификаторов в машинном обучении. Она позволяет визуализировать производительность модели, показывая, как часто предсказания совпадают с реальными значениями.
    • TP (True Positives): количество истинно положительных результатов (правильно предсказанные положительные классы);
    • TN (True Negatives): количество истинно отрицательных результатов (правильно предсказанные отрицательные классы);
    • FP (False Positives): количество ложно положительных результатов (неправильно предсказанные положительные классы);
    • FN (False Negatives): количество ложно отрицательных результатов (неправильно предсказанные отрицательные классы).

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

Блок возвращает список, содержащий два DataFrame.

  1. Информация о созданной модели:
    • task_id (*При обучении на сервере) - ID модели на сервере;
    • model - Информация о модели: Алгоритм и выбранные параметры для него;
    • metric_name и metric_value - Метрики и их значения;
    • Информация о нагрузке на систему - Нагрузка на центральный процессор, загрузка оперативной памяти, время обучения.
  2. Результат использования модели на тестовых данных:
    • Тестовые данные;
    • Результат классификации;
    • Вероятности вхождения в каждый существующий класс.

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

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

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

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

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

    image_3

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

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

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

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

    Лист2 - Результат использования модели на тестовых данных:

    • Тестовые данные;
    • Результат классификации;
    • Вероятности вхождения в каждый существующий класс.

Результат

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

image_7

Лист2 - Результат использования модели на тестовых данных:

image_6

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

image_8