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.
Stellt die Bewertung von R- und Python-Machine Learning-Modellen nahezu in Echtzeit bereit. sp_rxPredict
ist eine gespeicherte Prozedur, die als Wrapper für
rxPredict
R-Funktion in RevoScaleR und MicrosoftML sowie die rx_predict Python-Funktion in revoscalepy und microsoftml. Es ist in C++ geschrieben und speziell für Bewertungsvorgänge optimiert.
Obwohl das Modell mit R oder Python erstellt werden muss, kann es, sobald es serialisiert und in einem Binärformat auf einer Zieldatenbank-Engine instance gespeichert wurde, von dieser Datenbank-Engine verwendet werden, instance 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
model
Ein vortrainiertes Modell in einem unterstützten Format.
input
Eine gültige SQL-Abfrage
Rückgabewerte
Es werden eine Bewertungsspalte sowie alle Passthroughspalten aus der Eingabedatenquelle zurückgegeben. Zusätzliche Bewertungsspalten, z. B. das Konfidenzintervall, können zurückgegeben werden, wenn der Algorithmus die Generierung solcher Werte unterstützt.
Bemerkungen
Um die Verwendung der gespeicherten Prozedur zu ermöglichen, muss SQLCLR auf der instance aktiviert sein.
Hinweis
Die Aktivierung dieser Option hat Auswirkungen auf die Sicherheit. Verwenden Sie eine alternative Implementierung, z. B. die Transact-SQL PREDICT-Funktion , wenn SQLCLR auf Ihrem Server nicht aktiviert werden kann.
Der Benutzer benötigt EXECUTE
die Berechtigung für die Datenbank.
Unterstützte Algorithmen
Verwenden Sie zum Erstellen und Trainieren des Modells einen der unterstützten Algorithmen für R oder Python, der von SQL Server Machine Learning Services (R oder Python),SQL Server 2016 R Services, SQL Server Machine Learning Server (eigenständig) (R oder Python) bereitgestellt wird, oder SQL Server 2016 R Server (eigenständig).
R: RevoScaleR-Modelle
Modelle, die mit * gekennzeichnet sind, unterstützen auch die native Bewertung mit der PREDICT
-Funktion.
R: MicrosoftML-Modelle
R: Von MicrosoftML bereitgestellte Transformationen
Python: revoscalepy-Modelle
- rx_lin_mod *
- rx_logit *
- rx_btrees *
- rx_dtree *
- rx_dforest *
Modelle, die mit * gekennzeichnet sind, unterstützen auch die native Bewertung mit der PREDICT
-Funktion.
Python: microsoftml-Modelle
- rx_fast_trees
- rx_fast_forest
- rx_logistic_regression
- rx_oneclass_svm
- rx_neural_network
- rx_fast_linear
Python: Von microsoftml bereitgestellte Transformationen
Nicht unterstützte Modelltypen
Die folgenden Modelltypen werden nicht unterstützt:
- Modelle, die die
rxGlm
Algorithmen oderrxNaiveBayes
in RevoScaleR verwenden. - PMML-Modelle in R.
- Modelle, die mit anderen Bibliotheken von Drittanbietern 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.
Bei der Echtzeitbewertung wird kein Interpreter verwendet, sodass alle Funktionen, die möglicherweise einen Interpreter 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';
Zusätzlich zu 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.
Feedback
https://aka.ms/ContentUserFeedback.
Bald verfügbar: Im Laufe des Jahres 2024 werden wir GitHub-Tickets als Feedbackmechanismus für Inhalte auslaufen lassen und es durch ein neues Feedbacksystem ersetzen. Weitere Informationen finden Sie unter:Einreichen und Feedback anzeigen für