Перейти к основному содержимому
Версия: 6.1

predict

Описание

Выполняет предсказание на основе обученной модели и входных данных. Модель предварительно обучается командой train.

Команда поддерживает два механизма исполнения:

  • встроенные механизмы хранилища — используются по умолчанию
  • сервис sm-ml-service — используется, когда задана системная настройка sme.ml.enabled

Синтаксис команды не зависит от механизма исполнения.

Синтаксис

... | predict <algorithm> model_id="<model_id>" [fields="<field>[,<field>]"]

Обязательные аргументы

к сведению

Набор поддерживаемых алгоритмов зависит от механизма исполнения. Для встроенных механизмов хранилища он приведен в документации хранилища, при работе через sm-ml-service — определяется сервисом.

ПараметрСинтаксисОписание
<algorithm><algorithm_name>Название алгоритма для предсказания. При работе через sm-ml-service алгоритм определяется по сохраненной модели.
model_idmodel_id="<model_id>"Идентификатор обученной модели — результат команды train.

Опциональные аргументы

ПараметрСинтаксисПо умолчаниюОписание
fieldsfields="<field>[,<field>]"все поляСписок полей из входных данных, которые передаются в предсказание. Если не задан, передаются все поля текущего набора строк.

Работа через sm-ml-service

При включенной настройке sme.ml.enabled предсказание выполняется сервисом sm-ml-service (адрес задается настройками sme.ml.service_url и sme.ml.service_port):

  1. Входные данные (поля из fields или все поля текущего набора строк) передаются сервису; модель ищется в сервисе по имени из model_id
  2. Алгоритм определяется по сохраненной модели — значение <algorithm> из команды при этом не используется
  3. Если модель с указанным именем не найдена или еще не готова, команда завершается ошибкой выполнения запроса
  4. Строки результата предсказания возвращаются как выходные строки команды

Запросы к сервису выполняются с авторизацией: имя пользователя задается настройкой sme.ml.user. Таймаут обращения к сервису задается настройкой sme.ml.timeout.


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

Настройки хранятся в _cluster/settings. Ниже представлена таблица с настройками интеграции с сервисом sm-ml-service и их значениями по умолчанию.

НазваниеОписаниеЗначение по умолчанию
sme.ml.enabledВключает работу команды через сервис sm-ml-service. Если настройка выключена, команда работает через встроенные механизмы хранилища.false
sme.ml.service_urlBase URL сервиса sm-ml-service.
sme.ml.service_portПорт сервиса sm-ml-service.
sme.ml.userИмя пользователя для авторизации при запросах к сервису.
sme.ml.timeoutТаймаут запроса к сервису, мс.300000

Примеры запросов

Пример 1

В данном примере предсказание выполняется по умолчанию на тех полях, которые уже остались во входном потоке после peval и fields.

source user_operations_train
| peval operation_type_ssh=if(operation_type.keyword == "ssh_connect", 1, 0), operation_type_1c=if(operation_type.keyword == "1с_connect", 1, 0), operation_type_view_dashboard=if(operation_type.keyword == "view_dashboard", 1, 0), operation_type_gitlab=if(operation_type.keyword == "gitlab_connect", 1, 0)
| fields operation_type_ssh, operation_type_1c, operation_type_view_dashboard, operation_type_gitlab
| predict kmeans model_id="4wedvml"

Пример 2

В данном примере поля для предсказания передаются явно через параметр fields.

source user_operations_train
| peval operation_type_ssh=if(operation_type.keyword == "ssh_connect", 1, 0), operation_type_1c=if(operation_type.keyword == "1с_connect", 1, 0), operation_type_view_dashboard=if(operation_type.keyword == "view_dashboard", 1, 0), operation_type_gitlab=if(operation_type.keyword == "gitlab_connect", 1, 0)
| predict kmeans model_id="4wedvml" fields="operation_type_ssh, operation_type_1c, operation_type_view_dashboard, operation_type_gitlab"