Nota
O acesso a esta página requer autorização. Podes tentar iniciar sessão ou mudar de diretório.
O acesso a esta página requer autorização. Podes tentar mudar de diretório.
Aplica-se a: SQL Server 2016 (13.x) e versões posteriores no 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 do SQL Server.
Fornece pontuação em modelos de aprendizado de máquina R e Python quase em tempo real.
sp_rxPredict é um procedimento armazenado escrito em C++ e é otimizado especificamente para operações de pontuação.
sp_rxPredict é um invólucro para:
| Função | Invólucro |
|---|---|
rxPredict Função R |
-
RevoScaleR - MicrosoftML |
| rx_predict Função Python |
-
Revoscalepy - MicrosoftML |
O modelo deve ser criado usando R ou Python. No entanto, uma vez serializado e armazenado em um formato binário em uma instância do mecanismo de banco de dados de destino, ele pode ser consumido a partir dessa instância do mecanismo de banco de dados, mesmo quando a integração R ou Python não está instalada. Para obter mais informações, consulte Pontuação em tempo real com sp_rxPredict no SQL Server.
Sintaxe
sp_rxPredict ( @model , @input )
[ ; ]
Argumentos
@model
Um modelo pré-treinado em um formato suportado.
@input
Uma consulta SQL válida.
Valor de retorno
Uma coluna de pontuação é retornada, bem como quaisquer colunas de passagem da fonte de dados de entrada.
Colunas de pontuação extra, como intervalo de confiança, podem ser retornadas se o algoritmo suportar a geração de tais valores.
Observações
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 , se o SQLCLR não puder ser habilitado no servidor.
O usuário precisa de EXECUTE permissão no banco de dados.
Algoritmos suportados
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 (Standalone) (R ou Python) ou SQL Server 2016 R Server (Standalone).
R: Modelos RevoScaleR
1 Os modelos também suportam pontuação nativa com a PREDICT função.
R: Modelos MicrosoftML
- rxFastTrees: Árvore Rápida
- rxFastForest: Floresta Rápida
- rxLogisticRegression: Regressão Logística
- rxOneClassSvm: OneClass SVM
- rxNeuralNet: Rede Neural
- rxFastLinear: Modelo Linear Rápido
R: Transformações fornecidas pelo MicrosoftML
- rxFastTrees: Árvore Rápida
- concat: Transformada de Concat em Aprendizagem Automática
- categórico: Machine Learning Categorical Data Transform
- categoricalHash: Transformação de HashData Categórica de Aprendizado de Máquina
- selectFeatures: Transformação de seleção de recursos de aprendizado de máquina
Python: modelos revoscalepy
1 Os modelos também suportam pontuação nativa com a PREDICT função.
Python: modelos microsoftml
- microsoftml.rx_fast_trees: Árvores impulsionadas
- microsoftml.rx_fast_forest: Floresta aleatória
- microsoftml.rx_logistic_regression: Regressão Logística
- microsoftml.rx_oneclass_svm: Deteção de anomalias
- microsoftml.rx_neural_network: Rede Neural
- microsoftml.rx_fast_linear: Modelo Linear com Subida de Coordenadas Duplas Estocásticas
Python: Transformações fornecidas por microsoftml
- microsoftml.rx_fast_trees: Árvores impulsionadas
- microsoftml.concat: Concatena várias colunas em um único vetor
- microsoftml.categorical: Converte uma coluna de texto em categorias
- microsoftml.categorical_hash: Hashes e converte uma coluna de texto em categorias
Tipos de modelo não suportados
Os seguintes tipos de modelo não são suportados:
Modelos que usam os
rxGlmalgoritmos ourxNaiveBayesno RevoScaleR.Modelos de PMML em R.
Modelos criados usando outras bibliotecas que não são da Microsoft.
Modelos que usam uma função de transformação ou fórmula que contém uma transformação, como
A ~ log(B)não são suportados na 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 intérprete, 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';
EXECUTE 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 suporta apenas os seguintes tipos de coluna .NET: double, float, short, ushort, long, ulonge 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, consulte SQL-CLR Type Mapping ou Map CLR parameter data.