Обучить модель регрессии

Описание
Блок позволяет обучить модель регрессии для предсказания значений на основе входных данных.
Параметры модели
Блок имеет несколько выпадающих списков:
- Выполнить обучение:
- Локально - Обучение модели выполняется на компьютере пользователя;
- Удаленно - Обучение модели выполняется на удаленном компьютере (требуется установка дополнительного серверного компонента на используемый сервер).
- Алгоритм:
- LinearRegression - Основан на предположении, что существует линейная зависимость между входными переменными (факторами) и целевой переменной (результатом).
- Векторизация:
- TfidfVectorizer - преобразует текстовые документы в числовые векторы, основанные на методе TF-IDF (Term Frequency-Inverse Document Frequency). Он вычисляет важность каждого слова в документе относительно всего корпуса, учитывая как частоту его появления (TF), так и редкость в других документах (IDF);
- Word2Vec - позволяет преобразовать слова из корпуса текстов в векторы чисел таким образом, что слова с похожими семантическими значениями имеют близкие векторные представления в многомерном пространстве.
Параметры обучаемой модели
Блок имеет следующие параметры для обучаемой модели:
- Размер тестовой части (%) - Процент выборки тестовых данных из исходного массива данных;
- Использовать аугментацию данных - Чекбокс увеличения объема обучающего набора данных путем применения различных трансформаций к исходным данным:
- Количество уникальных аугментированных копий - Количество уникальных аугментированных копий для каждой строки;
- Доля случайных замен (%) - Доля случайных замен в тексте;
- Вероятность заменить русскую букву на похожую английскую (%) - Вероятность заменить русскую букву на похожую английскую в тексте;
- Регулярное выражение для извлечения токенов (регулярное выражение) - Параметр позволяет определить, как именно будут извлекаться токены (слова или фразы) из текстовых данных (пример:
(?u)\\b\\w\\w+\\b
- все слова в тексте, которые содержат два или более символов с учетом границ слов, используя Unicode для поддержки различных языков); - Использовать группы Токенов/Слов/Символов (при использовании TfidfVectorizer) - Определяет, как будет производиться анализ текстовых данных для извлечения признаков;
- Минимальная последовательность - определяет минимальное количество n-грамм, которые будут извлечены из текстовых данных;
- Максимальная последовательность - определяет максимальное количество n-грамм, которые будут извлечены из текстовых данных.
Выбор данных для обучения
Для обучения модели необходимо указать:
- Данные для обучения - Данные для обучения модели;
- Использовать колонки - Список колонок с данными для обучения;
- Название целевой колонки - Название колонки, содержащей категории, соответствующие обучающим данным.
Выбор места обучения
Для локального обучения:
- Путь сохранения модели - Путь файла с моделью, которая будет сохранена после обучения.
Для обучения на сервере:
- Адрес базы данных SQL - Адрес базы данных, в которой хранятся обученные модели;
- Адрес удаленного сервера - Адрес удаленного сервера для обучения;
- Сохранить результат обучения в - Путь до файла JSON, в который будет сохранена информация о обученной модели.
Используемые метрики
При обучении используются метрики:
- Средняя квадратическая ошибка (mean_squared_error) - метрика, измеряющая среднеквадратичную ошибку.
Информация о модели
Блок возвращает список, содержащий два DataFrame.
- Информация о созданной модели:
- task_id (*При обучении на сервере) - ID модели на сервере;
- model - Информация о модели: Алгоритм и выбранные параметры для него;
- metric_name и metric_value - Метрики и их значения;
- Информация о нагрузке на систему - Нагрузка на центральный процессор, загрузка оперативной памяти, время обучения.
- Результат использования модели на тестовых данных:
- Тестовые данные;
- Результат регрессивного анализа данных;
Пример использования
В данном примере блок выполняет обучение модели регрессии.
-
Формируется обучающая выборка для модели регрессии;
-
Выполняется обучение:
В данном примере блок выполняет локальное обучение модели регрессии:
Созданная модель сохраняется в файл regression_model, путь до которого указывается в поле “Путь сохранения модели”.
В данном примере блок выполняет обучение модели регрессии на сервере:
В поле “Сохранить результат обучение в” указывается JSON файл “info_model.json”, в который сохраняется информация о созданной модели на сервере.
-
Информация о модели сохраняется в Excel - Файл:
Лист1 - Информация о созданной модели:
- task_id (*При обучении на сервере) - ID модели на сервере;
- model - Информация о модели: Алгоритм и выбранные параметры для него;
- metric_name и metric_value - Метрики и их значения;
- Информация о нагрузке на систему - Нагрузка на центральный процессор, загрузка оперативной памяти, время обучения.
Лист2 - Результат использования модели на тестовых данных:
- Тестовые данные;
- Результат классификации;
- Вероятности вхождения в каждый существующий класс.
Результат
Лист1 - Информация о созданной модели, метрики и данные о нагрузке на систему:

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

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

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

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

Содержимое файла info_model.json
{ "task_id": "f13e3291-67f5-4b52-8a52-062845ba685c", "type": "text_classification", "model": "LinearRegression(n_jobs=10), TfidfVectorizer(ngram_range=(2, 3))", "metrics": [ { "metric_value": 1,0527431223475114, "metric_name": "Средняя квадратическая ошибка" } ], "cpu_usage": { "cpu_percent": 17,96875, "ram_MB": 195,580078125 }, "time": 0,00199389457702637}