Поделиться через


sp_rxPredict

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

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

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

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

Синтаксис

sp_rxPredict  ( @model, @input )

Аргументы

model

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

input

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

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

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

Замечания

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

Заметка

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

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

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

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

R: модели RevoScaleR

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

R: модели MicrosoftML

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

Python: модели revoscalepy

Модели, помеченные *, также поддерживают собственную оценку с 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.