Teilen über


sp_rxPredict

Gilt für: SQL Server 2016 (13.x) und höher – nur Windows

Generiert einen vorhergesagten Wert für eine bestimmte Eingabe, die aus einem Machine Learning-Modell besteht, das in einem Binärformat in einer SQL Server-Datenbank gespeichert ist.

Bietet Bewertungen auf R- und Python-Machine Learning-Modellen in nahezu Echtzeit. sp_rxPredict ist eine gespeicherte Prozedur, die als Wrapper für

Obwohl das Modell mithilfe von R oder Python erstellt werden muss, kann es auch dann verwendet werden, wenn es in einem Binärformat auf einer Zieldatenbankmodulinstanz serialisiert und gespeichert ist, von dieser Datenbankmodulinstanz verwendet werden, auch wenn die R- oder Python-Integration nicht installiert ist. Weitere Informationen finden Sie unter "Echtzeitbewertung mit sp_rxPredict".

Syntax

sp_rxPredict  ( @model, @input )

Argumente

Modell

Ein vortrainiertes Modell in einem unterstützten Format.

input

Eine gültige SQL-Abfrage

Rückgabewerte

Es wird eine Bewertungsspalte sowie alle Pass-Through-Spalten aus der Eingabedatenquelle zurückgegeben. Zusätzliche Bewertungsspalten, z. B. Konfidenzintervalle, können zurückgegeben werden, wenn der Algorithmus die Generierung solcher Werte unterstützt.

Hinweise

Um die Verwendung der gespeicherten Prozedur zu aktivieren, muss SQLCLR für die Instanz aktiviert sein.

Hinweis

Es gibt Sicherheitsauswirkungen, um diese Option zu aktivieren. Verwenden Sie eine alternative Implementierung, z. B. die Transact-SQL PREDICT-Funktion , wenn SQLCLR nicht auf Ihrem Server aktiviert werden kann.

Der Benutzer benötigt EXECUTE die Berechtigung für die Datenbank.

Unterstützte Algorithmen

Zum Erstellen und Trainieren des Modells verwenden Sie einen der unterstützten Algorithmen für R oder Python, die von SQL Server Machine Learning Services (R oder Python) bereitgestellt werden, SQL Server 2016 R Services, SQL Server Machine Learning Server (Standalone) (R oder Python) oder SQL Server 2016 R Server (standalone).

R: RevoScaleR-Modelle

Modelle, die mit * gekennzeichnet sind, unterstützen auch die systemeigene Bewertung mit der PREDICT Funktion.

R: MicrosoftML-Modelle

R: Von MicrosoftML bereitgestellte Transformationen

Python: Revoscalepy Modelle

Modelle, die mit * gekennzeichnet sind, unterstützen auch die systemeigene Bewertung mit der PREDICT Funktion.

Python: Microsoftml-Modelle

Python: Von microsoftml bereitgestellte Transformationen

Nicht unterstützte Modelltypen

Die folgenden Modelltypen werden nicht unterstützt:

  • Modelle mit den rxGlm Algorithmen rxNaiveBayes in RevoScaleR.
  • PMML-Modelle in R.
  • Modelle, die mit anderen Drittanbieterbibliotheken erstellt wurden.
  • Modelle, die eine Transformationsfunktion oder eine Formel mit einer Transformation enthalten (z.B. A ~ log(B), werden bei der Echtzeitbewertung nicht unterstützt. Wenn Sie ein Modell dieses Typs verwenden möchten, wird empfohlen, die Transformation für Eingabedaten durchzuführen, bevor die Daten an die Echtzeitbewertung übergeben werden.

Die Echtzeitbewertung verwendet keinen Dolmetscher, sodass alle Funktionen, die möglicherweise einen Dolmetscher erfordern, während des Bewertungsschritts nicht unterstützt werden.

Beispiele

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

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

Neben einer gültigen SQL-Abfrage müssen die Eingabedaten in @inputData Spalten enthalten, die mit den Spalten im gespeicherten Modell kompatibel sind.

sp_rxPredict unterstützt nur die folgenden .NET-Spaltentypen: double, float, short, ushort, long, ulong und string. Möglicherweise müssen Sie nicht unterstützte Typen in Ihren Eingabedaten herausfiltern, bevor Sie sie für die Echtzeitbewertung verwenden.

Informationen zu entsprechenden SQL-Typen finden Sie unter SQL-CLR-Typzuordnung oder Zuordnen von CLR-Parameterdaten.