Partager via


sp_rxPredict

S’applique à : SQL Server 2016 (13.x) et versions ultérieures - Windows uniquement

Génère une valeur prédite pour une entrée donnée composée d’un modèle Machine Learning stocké dans un format binaire dans une base de données SQL Server.

Fournit un scoring sur les modèles Machine Learning R et Python en quasi temps réel. sp_rxPredict est une procédure stockée fournie en tant que wrapper pour

Bien que le modèle doit être créé à l’aide de R ou Python, une fois sérialisé et stocké dans un format binaire sur une instance du moteur de base de données cible, il peut être consommé à partir de cette instance de moteur de base de données même quand l’intégration R ou Python n’est pas installée. Pour plus d’informations, consultez le scoring en temps réel avec sp_rxPredict.

Syntaxe

sp_rxPredict  ( @model, @input )

Arguments

modèle

Modèle préentraîné dans un format pris en charge.

input

Requête SQL valide

Valeurs de retour

Une colonne de score est retournée, ainsi que toutes les colonnes directes de la source de données d’entrée. Des colonnes de score supplémentaires, telles que l’intervalle de confiance, peuvent être retournées si l’algorithme prend en charge la génération de ces valeurs.

Notes

Pour activer l’utilisation de la procédure stockée, SQLCLR doit être activé sur l’instance.

Remarque

Il existe des implications en matière de sécurité pour activer cette option. Utilisez une autre implémentation, telle que la fonction Transact-SQL PREDICT , si SQLCLR ne peut pas être activé sur votre serveur.

L’utilisateur a besoin EXECUTE d’une autorisation sur la base de données.

Algorithmes pris en charge

Pour créer et entraîner un modèle, utilisez l’un des algorithmes pris en charge pour R ou Python, fournis par SQL Server Machine Learning Services (R ou Python), SQL Server 2016 R Services, SQL Server Machine Learning Server (autonome) ou SQL Server 2016 R Server (autonome) ou SQL Server 2016 R Server (autonome).

R : Modèles RevoScaleR

Les modèles marqués avec * prennent également en charge le scoring natif avec la PREDICT fonction.

R : Modèles MicrosoftML

R : Transformations fournies par MicrosoftML

Python : modèles revoscalepy

Les modèles marqués avec * prennent également en charge le scoring natif avec la PREDICT fonction.

Python : modèles microsoftml

Python : Transformations fournies par microsoftml

Types de modèles non pris en charge

Les types de modèle suivants ne sont pas pris en charge :

  • Modèles utilisant les algorithmes ou rxNaiveBayes les rxGlm algorithmes dans RevoScaleR.
  • Modèles PMML en R.
  • Modèles créés à l’aide d’autres bibliothèques tierces.
  • Les modèles utilisant une fonction de transformation ou une formule contenant une transformation, comme A ~ log(B, ne sont pas pris en charge dans le scoring en temps réel. Pour utiliser un modèle de ce type, nous vous recommandons d’effectuer la transformation sur les données d’entrée avant de passer les données au scoring en temps réel.

Le scoring en temps réel n’utilise pas d’interpréteur. Par conséquent, toutes les fonctionnalités susceptibles de nécessiter un interpréteur ne sont pas prises en charge pendant l’étape de scoring.

Exemples

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

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

En plus d’être une requête SQL valide, les données d’entrée dans @inputData doivent inclure des colonnes compatibles avec les colonnes du modèle stocké.

sp_rxPredict prend uniquement en charge les types de colonnes .NET suivants : double, float, short, ushort, long, ulong et string. Vous devrez peut-être filtrer les types non pris en charge dans vos données d’entrée avant de l’utiliser pour le scoring en temps réel.

Pour plus d’informations sur les types SQL correspondants, consultez Mappage de type SQL-CLR ou Mappage des données de paramètres CLR.