История страницы
Обучить модель классификации Версия классификации Версия 1 (python)
Группа "Robin AI", подгруппа "Машинное обучениеКлассификатор (ROBIN)"
...
Описание
Данное действие обучает модель классификации текста.
Задача классификации - определение типа объекта из двух или более существующих классов.
В зависимости от задачи классификации подбираются подбираются подходящие типы классификаторов. Используется совместно с действием "Классифицировать текст".
Более подробно о методах классификации можно посмотреть здесь: Обзор методов классификации в машинном обучении с помощью Scikit-Learn (tproger.ru)
Иконка
Параметры
...
Входные параметры
- Данные для обучения
...
- – путь к папке с данными для обучения модели классификации.
Внутри папки содержатся подпапки с классами, названия которых – это название класса. Внутри каждой подпапки должны быть файлы формата .txt.
...
-
с различными текстами, которые соответствуют классу. Форматы текстов создаются Пользователем. - Папка с результатом
...
- – путь к папке, в которую будет сохранена обученная модель классификации.
В указанной папке в результате работы действия должно быть создано 2 файла: machine_model.pkl – модель машинного обучения
...
- и tfidf_model.pk – сохранение словаря, токены.
- Метод
...
- – метод, который будет использоваться для обучения модели классификации.
...
Значение по умолчанию – RandomForest. Методы базируются на различных алгоритмах классификации.
...
Параметр содержит следующие методы:
- Выбрать наиболее подходящий – Choose the most suitable
- SVC (Support Vector Machines) – метод SVC - метод опорных векторов
- RandomForest – метод случайного леса
- GradientBoosting – градиентный бустинг
- AdaBoost (Adaptive Boosting) – адаптивный бустинг
- DecisionTree (Decision Tree Classifier) – классификатор дерева решений
- KNeighboors (K-Nearest Neighbors) – метод k - классификатор дерева решений
- GradientBoosting
- AdaBoost
- nTree - классификатор дерева решений KNeighboors - метод к-ближайших соседей
- Naive Bayes - – наивный байесовский методПерезаписать- е
- Перезаписать – если значение параметра "true", и в папке с результатом уже существует файл с таким же именем и расширением, то он будет перезаписан.
Если значение параметра"false", файл перезаписан не будет, и действие выдаст ошибку.
...
- Файлы machine_model.pcl and tiff_model.pk должны быть уникальны в указанной папке.
- Стоп-слова
...
- – путь к txt-файлу, который содержит стоп-слова, которые не будут учитываться при обучении модели классификации.
Каждое стоп-слово должно быть записано на
...
- новой строке. Слова, несущие мало смысла для классификации, но часто встречающиеся, например, в письмах:
...
- Доброе утро!
...
- , Добрый день!
...
- , С уважением,
...
- tel:
...
- , email:.
...
- Словосочетания – путь к txt-файлу, содержащему словосочетания, которые при обучении модели важно не разделять на отдельные слова для сохранения смысла всей фразы.
Каждое словосочетание должно быть записано на новой строке. Словосочетания нужны для указания важности фразы целиком, без разделения по словам.
Например: юридическое лицо, операция по чеку, чек по операции, срочный вопрос, группа компаний, стратегия развития.
Выходные параметры
- Результат
...
- – результат показывает процент точности обученной модели, полученный путем сравнения тестовой и тренировочной выборки в процентном соотношении.
...
Настройки
Свойство | Описание | Тип |
Пример заполнения |
Обязательность заполнения поля | ||||
Параметры | ||||
Данные для обучения | Путь к папке с данными для обучения модели классификации. Внутри папки содержатся подпапки, названия которых – это название класса. Внутри каждой подпапки должны быть txt-файлы с различными текстами, которые соответствуют классу |
Путь к папке | C:\Users\123\ |
OneDrive\ |
Рабочий стол\Папка с текстами | Да |
Папка с результатом | Путь к папке, в которую будет сохранена обученная модель классификации |
Путь к папке | C:\Users\123\ |
OneDrive\ |
Рабочий стол\ |
Индексация | Да |
Метод | Метод, который будет использоваться для обучения модели классификации. |
Значение по умолчанию – RandomForest | Строка | AdaBoost | Да |
Перезаписать | Если значение |
«true», и в папке с результатом уже существует файл с таким же именем и расширением, то он будет перезаписан. Если |
«false», файл перезаписан не будет, и действие вернет ошибку |
Логический | true | Нет |
Стоп-слова | Путь к txt-файлу, который содержит стоп-слова, которые не будут учитываться при обучении модели классификации. Каждое стоп-слово должно быть записано на новой строке |
Путь к файлу | C:\ |
Users\123\OneDrive\Рабочий стол\Стоп-слова.txt | Нет |
Словосочетания | Путь к txt-файлу, содержащему словосочетания, которые при обучении модели важно не разделять на отдельные слова для сохранения смысла всей фразы. Каждое словосочетание должно быть записано на новой строке |
Путь к файлу | C:\ |
Users\123\OneDrive\Рабочий стол\Словосочетания.txt | Нет | |||
Результаты | ||||
Результат | Процент точности обученной модели |
Число |
Особые условия использования
В списке методов обучения параметра "Метод" при смене языка студии на английский название метода "Выбрать наиболее подходящий" сменяется на название "Choose the most suitable", остальные варианты остаются на английском.
При невыполнении условий проверки параметров робот будет выдавать следующие сообщения об ошибках:
...
Особых условий нет.
Пример использования
Задача
Имеется исходная папка "result":
В папке расположены подпапки-классы для обучения классификатора:
В каждой папке расположены txt-файлы с различными текстами, которые соответствуют классу:
Также имеются текстовые файлы со стоп-словами
и со словосочетаниями
Необходимо обучить модель классификации на имеющихся данных, сохранить обученную модель классификации в папку "Модель классификации"
и вывести процент точности обученной модели в переменной "Результат" через диалоговое окно.
Решение
Воспользоваться действием "Обучить модель классификации".
Реализация
Примеры работы действия
1. Все параметры настроены верно:
"Данные для обучения" - Папка с результатом с необходимой структурой данных,
"Папка с результатом" - существующая папка.
Установить действие группы Robin AI «Обучить модель классификации» на рабочую область;
Корректно настроить параметры действия;
Запустить робота.
Результат: Робот сохранит обученную модель в указанной папке,
2. Указаны неверные пути в:
"Данные для обучения";
"Папка с результатом";
"Стоп-слова";
"Словосочетания".
Установить действие группы Robin AI «Обучить модель классификации» на рабочую область;
Корректно настроить параметры действия;
Запустить робота.
Результат: Робот выдаст ошибку, связанную с несуществующим адресом папки/файла.
3. Указаны неверные форматы файлов в:
"Стоп-слова";
"Словосочетания".
Установить действие группы Robin AI «Обучить модель классификации» на рабочую область;
Корректно настроить параметры действия;
Запустить робота.
Результат: Робот вернет ошибку, так как не может прочитать файлы.
4. Обученная модель (файлы) уже существует в указанном пути "Папка с результатом", но выключено "Перезаписать":
Установить действие группы Robin AI «Обучить модель классификации» на рабочую область;
Корректно настроить параметры действия. Не включать "Перезаписать";
Запустить робота.
Результат: Робот выдаст ошибку, так как не может записать файлы.
5. В папке "Данные для обучения" нет файлов для обучения:
Установить действие группы Robin AI «Обучить модель классификации» на рабочую область;
Корректно настроить параметры действия.
Запустить робота.
Результат: Робот выдаст ошибку.
Пример использования
Задача
Обучить модель классификации.
Решение
Воспользоваться действием "Обучить модель классификации".
Реализация
1.Для задания параметров модели обучения Пользователю необходимо создать данные для обучения:
данные для обучения - дерево объектов, состоящее из двух папок:
Исходная папка:
в ней классы:
В каждой папке папка с классом:
Подготовить словосочетания.
txt-файл, содержащий словосочетания, которые при обучении модели важно не разделять на отдельные слова для сохранения смысла всей фразы. Каждое словосочетание должно быть записано на новой строке, указывать фразы надо целиком, без разделения по словам, например: операции по чеку
Подготовить стоп-слова.
txt-файл, который содержит стоп-слова, которые не будут учитываться при обучении модели классификации. Каждое стоп-слово должно быть записано на новой строке, например:
- Доброе утро!
- Добрый день!
- С уважением,
- tel:
- email:
2. Перенести на рабочую область действие "Обучить модель классификации".
3. Настроить параметры действия " Обучить модель классификации".
...
- Создать переменную "Результат" с типом "Число".
- Перетащить на рабочую область действие "Обучить модель классификации".
- Заполнить параметры действия "Обучить модель классификации".
Добавить в соответствующие поля параметров пути к папкам и файлам и выбрать метод.
В результат добавить переменную "Результат": - Перетащить на рабочую область действие "Сообщение".
- Заполнить параметры действия "Сообщение".
- Нажать на кнопку "Старт" в верхней панели.
Результат
Программный робот отработал успешно.
Создана модель классификации, включающая в себя 2 файла: machine_model.pkl – модель машинного обучения и tfidf_model.pk – сохранение словаря, токены.
Процент точности обученной модели записан в переменную "Результат" и выведен в диалоговое окно.