sp_rxPredict
Aplica-se a: SQL Server 2016 (13.x) e posterior - somente Windows
Gera um valor previsto para uma determinada entrada que consiste em um modelo de aprendizado de máquina armazenado em um formato binário em um banco de dados SQL Server.
Fornece pontuação em modelos de aprendizado de máquina R e Python quase em tempo real. sp_rxPredict
é um procedimento armazenado fornecido como um wrapper para
rxPredict
R em RevoScaleR e MicrosoftML e a função rx_predict Python em revoscalepy e microsoftml. Ele é escrito em C++ e é otimizado especificamente para operações de pontuação.
Embora o modelo deva 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 do Python não está 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 pelo SQL Server Machine Learning Services (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 suportam pontuação nativa com a PREDICT
função.
R: Modelos MicrosoftML
R: Transformações fornecidas pelo MicrosoftML
Python: modelos revoscalepy
- rx_lin_mod *
- rx_logit *
- rx_btrees *
- rx_dtree *
- rx_dforest *
Os modelos marcados com * também suportam pontuação nativa com a PREDICT
função.
Python: modelos microsoftml
- rx_fast_trees
- rx_fast_forest
- rx_logistic_regression
- rx_oneclass_svm
- rx_neural_network
- rx_fast_linear
Python: transformações fornecidas por microsoftml
Tipos de modelos sem suporte
Os seguintes tipos de modelo não são suportados:
- Modelos que usam os
rxGlm
algoritmos orrxNaiveBayes
no RevoScaleR. - Modelos PMML em 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, qualquer funcionalidade que possa exigir um intérprete não é suportada 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 em @inputData devem incluir colunas compatíveis com as colunas no modelo armazenado.
sp_rxPredict
dá suporte apenas aos seguintes tipos de coluna do .NET: double, float, short, ushort, long, ulong e string. Talvez seja necessário filtrar tipos não suportados 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.
Comentários
https://aka.ms/ContentUserFeedback.
Em breve: Ao longo de 2024, eliminaremos os problemas do GitHub como o mecanismo de comentários para conteúdo e o substituiremos por um novo sistema de comentários. Para obter mais informações, consulteEnviar e exibir comentários de