Обучение и применение через SML (команды train и predict)
Для обучения и применения модели из языка запросов SML используются команды train и predict. Если заданы кластерные настройки sme.ml.*, команды отправляют запросы в sm-ml-service: train вызывает операцию /fit, а predict — операцию /apply.
Перед выполнением команд задайте кластерные настройки Smart Monitor в _cluster/settings:
sme.ml.enabled = true
sme.ml.service_url = https://<sm-ml-service-host>/
sme.ml.service_port = 30000
sme.ml.timeout = 300000
sme.ml.user = sm_ml_user
Пароль пользователя sme.ml.user сохраните в keystore Smart Monitor в параметре sm.core.ml.password. Порядок настройки описан в разделе Настройки SM-ML.
Если настройки sme.ml.* не заданы, команды train и predict работают во встроенном режиме. Перед выполнением примеров зарегистрируйте и разверните алгоритм tutorial-demo в экземпляре sm-ml-service, указанном в настройках sme.ml.*.
Обучение — команда train
Откройте страницу Поиск (/app/general/search) и выполните следующий запрос. Конвейер формирует обучающую выборку со столбцами x и y и передает ее в команду train:
| makeresults count=6
| streamstats count as i
| eval x = tonumber(i)
| eval y = tonumber(i) * 2 + 1
| table x, y
| train "tutorial-demo" model_id="tutorial-demo-sml" fields="x,y"
model_id— имя модели, которое передается в полеmodel_nameSM-MLfields— поля конвейера, включаемые в CSV-файл обучающей выборки- остальные параметры, кроме
model_id,fieldsиoverwrite, — параметры, передаваемые в полеparamsалгоритма
После завершения обучения возвращается одна строка со значениями status=succeeded, trained_rows=6 и model_id=tutorial-demo-sml.

Обученная модель отображается на экране Модели со статусом Готова, как и при обучении через API.
Применение — команда predict
Выполните следующий запрос. Конвейер формирует входные строки со столбцом x и применяет модель, указанную в параметре model_id:
| makeresults count=3
| streamstats count as i
| eval x = tonumber(i) * 10
| table x
| predict "tutorial-demo" model_id="tutorial-demo-sml" fields="x"
Результат содержит предсказания в столбце prediction. В приведенном примере модель определила зависимость y = 2·x + 1:
| x | prediction | status |
|---|---|---|
| 10 | 21.0… | succeeded |
| 20 | 41.0… | succeeded |
| 30 | 61.0… | succeeded |

В команде predict укажите то же значение model_id, которое использовалось в команде train. Поиск готовой модели по имени выполняет sm-ml-service.