sp_rxPredict

Область применения: SQL Server 2016 (13.x) и более поздних версий — только Windows

Создает прогнозируемое значение для заданных входных данных, состоящих из модели машинного обучения, хранящейся в двоичном формате в базе данных SQL Server.

Предоставляет оценку моделей машинного обучения R и Python практически в реальном времени. sp_rxPredict — это хранимая процедура, написанная на языке C++, и оптимизирована специально для операций оценки. sp_rxPredict — это оболочка для:

Function Обертка
rxPredict Функция R - RevoScaleR
- MicrosoftML
функция Python rx_predict - revoscalepy
- microsoftml

Модель должна быть создана с помощью R или Python. Однако после сериализации и хранения в двоичном формате в целевом экземпляре ядра СУБД его можно использовать из этого экземпляра ядра СУБД, даже если интеграция R или Python не установлена. Дополнительные сведения см. в статье о оценке в режиме реального времени с помощью sp_rxPredict в SQL Server.

Синтаксис

sp_rxPredict ( @model , @input )
[ ; ]

Аргументы

@model

Предварительно обученная модель в поддерживаемом формате.

@input

Допустимый SQL-запрос.

Возвращаемые значения

Возвращается столбец оценки, а также все сквозные столбцы из входного источника данных.

Дополнительные столбцы оценки, такие как доверительный интервал, можно вернуть, если алгоритм поддерживает создание таких значений.

Замечания

Чтобы включить использование хранимой процедуры, SQLCLR необходимо включить в экземпляре.

Примечание.

Существуют последствия для обеспечения этого параметра. Используйте альтернативную реализацию, например функцию PREDICT (Transact-SQL), если SQLCLR не удается включить на сервере.

Пользователю требуется EXECUTE разрешение на базу данных.

Поддерживаемые алгоритмы

Чтобы создать и обучить модель, используйте один из поддерживаемых алгоритмов R или Python, предоставляемых службами SQL Server Машинное обучение (R или Python),SQL Server 2016 R Services, SQL Server Машинное обучение Server (автономный) (R или Python) или SQL Server 2016 R Server (автономный)).

R: модели RevoScaleR

1 Модели также поддерживают собственную оценку с PREDICT помощью функции.

R: модели MicrosoftML

R: преобразования, предоставляемые MicrosoftML

Python: модели revoscalepy

  • rx_lin_mod 1
  • rx_logit 1
  • rx_btrees 1
  • rx_dtree 1
  • rx_dforest 1

1 Модели также поддерживают собственную оценку с PREDICT помощью функции.

Python: модели microsoftml

Python: преобразования, предоставляемые microsoftml

Неподдерживаемые типы моделей

Следующие типы моделей не поддерживаются:

  • Модели с помощью rxGlm алгоритмов rxNaiveBayes или алгоритмов в RevoScaleR.

  • Модели PMML в R.

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

  • Модели, использующие функцию преобразования или формулу, содержащую преобразование, например A ~ log(B) , не поддерживаются в оценке в режиме реального времени. Чтобы использовать модель этого типа, рекомендуется выполнить преобразование входных данных перед их передачей в систему оценки в реальном времени.

Оценка в режиме реального времени не использует интерпретатор, поэтому любые функции, которые могут требовать интерпретатора, не поддерживаются во время шага оценки.

Примеры

DECLARE @model =
    SELECT @model
    FROM model_table
    WHERE model_name = 'rxLogit trained';

EXEC sp_rxPredict @model = @model,
    @inputData = N'SELECT * FROM data';

Помимо допустимого SQL-запроса, входные данные в @inputData должны включать столбцы, совместимые со столбцами в хранимой модели.

sp_rxPredict поддерживает только следующие типы столбцов .NET: double, float, short, ushort, long, ulongи string. Возможно, потребуется отфильтровать неподдерживаемые типы в входных данных, прежде чем использовать его для оценки в режиме реального времени.

Сведения о соответствующих типах SQL см. в разделе "Сопоставление типов SQL-CLR" или "Сопоставление параметров CLR".