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 le 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 un moteur de base de données cible instance, il peut être consommé à partir de ce moteur de base de données instance même quand l’intégration de R ou Python n’est pas installée. Pour plus d’informations, consultez Scoring en temps réel avec sp_rxPredict.

Syntaxe

sp_rxPredict  ( @model, @input )

Arguments

model

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

input

Une requête SQL valide

Valeurs retournées

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 le instance.

Notes

L’activation de cette option a des implications en matière de sécurité. 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 d’une EXECUTE 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, fourni par SQL Server Machine Learning Services (R ou Python),SQL Server services R 2016, SQL Server Machine Learning Server (autonome) (R ou Python) 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èles suivants ne sont pas pris en charge :

  • Modèles utilisant les rxGlm algorithmes ou rxNaiveBayes 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, toute fonctionnalité pouvant nécessiter un interpréteur n’est pas prise 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 les 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.