Обучить модель классификации Версия 1 (Python)

Группа "Robin AI", подгруппа "Классификатор (ROBIN)"


Описание

Данное действие обучает модель классификации текста.

Задача классификации - определение типа объекта из двух или более существующих классов.
В зависимости от задачи классификации подбираются подходящие типы классификаторов. 
Более подробно о методах классификации можно посмотреть здесь: Обзор методов классификации в машинном обучении с помощью Scikit-Learn (tproger.ru)

Иконка действия

Параметры и их настройка

СвойствоОписаниеТипПример заполненияОбязательность заполнения поля
Параметры
Данные для обученияПуть к папке с данными для обучения модели классификации. Внутри папки содержатся подпапки, названия которых – это название класса. Внутри каждой подпапки должны быть txt-файлы с различными текстами, которые соответствуют классуПуть к папкеC:\Users\123\OneDrive\Рабочий стол\Папка с текстамиДа
Папка с результатомПуть к папке, в которую будет сохранена обученная модель классификацииПуть к папкеC:\Users\123\OneDrive\Рабочий стол\ИндексацияДа
МетодМетод, который будет использоваться для обучения модели классификации. Значение по умолчанию – RandomForest

Параметр содержит следующие методы: 

  1. Выбрать наиболее подходящий
  2. SVC (Support Vector Machines) – метод опорных векторов 
  3. RandomForest – метод случайного леса
  4. GradientBoosting – градиентный бустинг
  5. AdaBoost (Adaptive Boosting) – адаптивный бустинг
  6. DecisionTree (Decision Tree Classifier) – классификатор дерева решений 
  7. KNeighboors (K-Nearest Neighbors) – метод k-ближайших соседей
  8. Naive Bayes – наивный байесовский метод
СтрокаAdaBoostДа
ПерезаписатьЕсли значение «true», и в папке с результатом уже существует файл с таким же именем и расширением, то он будет перезаписан. Если «false», файл перезаписан не будет, и действие вернет ошибкуЛогическийtrueНет
Стоп-словаПуть к txt-файлу, который содержит стоп-слова, которые не будут учитываться при обучении модели классификации. Каждое стоп-слово должно быть записано на новой строкеПуть к файлуC:\Users\123\OneDrive\Рабочий стол\Стоп-слова.txtНет
СловосочетанияПуть к txt-файлу, содержащему словосочетания, которые при обучении модели важно не разделять на отдельные слова для сохранения смысла всей фразы. Каждое словосочетание должно быть записано на новой строкеПуть к файлуC:\Users\123\OneDrive\Рабочий стол\Словосочетания.txtНет
Результаты
РезультатПроцент точности обученной моделиЧисло

Особые условия использования

Особых условий нет.

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

Задача

Имеется исходная папка "result":

В папке расположены подпапки-классы для обучения классификатора:

В каждой папке расположены txt-файлы с различными текстами, которые соответствуют классу:

Также имеются текстовые файлы со стоп-словами.

и со словосочетаниями.

Необходимо обучить модель классификации на имеющихся данных, сохранить обученную модель классификации в папку "Модель классификации"
и вывести процент точности обученной модели в переменной "Результат" через диалоговое окно.

Решение

Воспользоваться действиями  "Обучить модель классификации" и "Сообщение".

Реализация

  1. Создать переменную "Результат" с типом "Число".
  2. Перетащить на рабочую область действие "Обучить модель классификации".
  3. Заполнить параметры действия "Обучить модель классификации". 
    Добавить в соответствующие поля параметров пути к папкам и файлам и выбрать метод.
    В результат добавить переменную "Результат":
  4. Перетащить на рабочую область действие "Сообщение".
  5. Заполнить параметры действия "Сообщение".
  6. Нажать на кнопку "Старт" в верхней панели.

Результат

Программный робот отработал успешно.

Создана модель классификации, включающая в себя 2 файла: machine_model.pkl – модель машинного обучения и tfidf_model.pk – сохранение словаря, токены.

Процент точности обученной модели записан в переменную "Результат" и выведен в диалоговое окно.

  • Нет меток