sp_rxPredict

Aplica-se a: SQL Server 2016 (13.x) e versões posteriores – Somente Windows

Gera um valor previsto para uma determinada entrada que consiste em um modelo de machine learning armazenado em um formato binário em um banco de dados SQL Server.

Fornece pontuação em modelos de machine learning R e Python quase em tempo real. sp_rxPredict é um procedimento armazenado fornecido como um wrapper para

Embora o modelo precise ser criado usando R ou Python, depois de serializado e armazenado em um formato binário em uma instância do mecanismo de banco de dados de destino, ele pode ser consumido dessa instância do mecanismo de banco de dados mesmo quando a integração do R ou python não estiver instalada. Para obter mais informações, consulte Pontuação em tempo real com sp_rxPredict.

Sintaxe

sp_rxPredict  ( @model, @input )

Argumentos

modelo

Um modelo pré-treinado em um formato com suporte.

input

Uma consulta SQL válida

Valores retornados

Uma coluna de pontuação é retornada, bem como todas as colunas de passagem da fonte de dados de entrada. Colunas de pontuação adicionais, como intervalo de confiança, podem ser retornadas se o algoritmo der suporte à geração desses valores.

Comentários

Para habilitar o uso do procedimento armazenado, o SQLCLR deve ser habilitado na instância.

Observação

Há implicações de segurança para habilitar essa opção. Use uma implementação alternativa, como a função PREDICT do Transact-SQL , se o SQLCLR não puder ser habilitado em seu servidor.

O usuário precisa de EXECUTE permissão no banco de dados.

Algoritmos compatíveis

Para criar e treinar o modelo, use um dos algoritmos com suporte para R ou Python, fornecidos por SQL Server Serviços de Machine Learning (R ou Python),SQL Server 2016 R Services, SQL Server Machine Learning Server (Autônomo) (R ou Python)ou SQL Server 2016 R Server (Autônomo).

R: Modelos revoScaleR

Os modelos marcados com * também dão suporte à pontuação nativa com a PREDICT função .

R: Modelos do MicrosoftML

R: Transformações fornecidas pelo MicrosoftML

Python: modelos revoscalepy

Os modelos marcados com * também dão suporte à pontuação nativa com a PREDICT função .

Python: modelos microsoftml

Python: transformações fornecidas pelo microsoftml

Tipos de modelos sem suporte

Não há suporte para os seguintes tipos de modelo:

  • Modelos que usam os rxGlm algoritmos ou rxNaiveBayes no RevoScaleR.
  • Modelos PMML no R.
  • Modelos criados usando outras bibliotecas de terceiros.
  • Não há suporte para modelos que usam uma função de transformação ou uma fórmula contendo uma transformação, como A ~ log(B, em pontuação em tempo real. Para usar um modelo desse tipo, recomendamos que você execute a transformação nos dados de entrada antes de passar os dados para a pontuação em tempo real.

A pontuação em tempo real não usa um interpretador, portanto, não há suporte para qualquer funcionalidade que possa exigir um interpretador durante a etapa de pontuação.

Exemplos

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

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

Além de ser uma consulta SQL válida, os dados de entrada no @inputData devem incluir colunas compatíveis com as colunas no modelo armazenado.

sp_rxPredict dá suporte apenas aos seguintes tipos de coluna .NET: double, float, short, ushort, long, ulong e string. Talvez seja necessário filtrar tipos sem suporte em seus dados de entrada antes de usá-los para pontuação em tempo real.

Para obter informações sobre os tipos SQL correspondentes, confira Mapeamento de tipos SQL-CLR ou Mapeamento de dados de parâmetro CLR.