Anmerkung
Der Zugriff auf diese Seite erfordert eine Genehmigung. Du kannst versuchen, dich anzumelden oder die Verzeichnisse zu wechseln.
Der Zugriff auf diese Seite erfordert eine Genehmigung. Du kannst versuchen , die Verzeichnisse zu wechseln.
Gilt für: SQL Server 2016 (13.x) und höhere Versionen unter 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 in C++ geschriebene gespeicherte Prozedur und ist speziell für Bewertungsvorgänge optimiert.
sp_rxPredict ist ein Wrapper für:
| Funktion | Umschlag |
|---|---|
rxPredict R-Funktion |
-
RevoScaleR - MicrosoftML |
| rx_predict Python-Funktion |
-
revoscalepy - MicrosoftML |
Das Modell muss mit R oder Python erstellt werden. Sobald sie jedoch in einem Binärformat in einer Zieldatenbankmodulinstanz serialisiert und gespeichert ist, kann sie von dieser Datenbankmodulinstanz verwendet werden, auch wenn die R- oder Python-Integration nicht installiert ist. Weitere Informationen finden Sie unter "Echtzeitbewertung mit sp_rxPredict in SQL Server".
Syntax
sp_rxPredict ( @model , @input )
[ ; ]
Argumente
@model
Ein vortrainiertes Modell in einem unterstützten Format.
@input
Eine gültige SQL-Abfrage.
Rückgabewert
Es wird eine Bewertungsspalte sowie alle Pass-Through-Spalten aus der Eingabedatenquelle zurückgegeben.
Zusätzliche Punktespalten, 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, wie die PREDICT-Funktion , falls SQLCLR auf Ihrem Server nicht 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
1 Modelle unterstützen auch die systemeigene Bewertung mit der PREDICT Funktion.
R: MicrosoftML-Modelle
- rxFastTrees: Schnelle Struktur
- rxFastForest: Schnelle Gesamtstruktur
- rxLogisticRegression: Logistische Regression
- rxOneClassSvm: OneClass SVM
- rxNeuralNet: Neurales Netz
- rxFastLinear: Schnelles lineares Modell
R: Von MicrosoftML bereitgestellte Transformationen
- rxFastTrees: Schnelle Struktur
- Verkettung: Machine Learning-Verkettungstransformation
- kategorisiert: Machine Learning Categorical Data Transform
- categoricalHash: Maschinelles Lernen kategorialer HashData-Transform
- selectFeatures: Machine Learning Feature Selection Transformation
Python: Revoscalepy Modelle
1 Modelle unterstützen auch die systemeigene Bewertung mit der PREDICT Funktion.
Python: Microsoftml-Modelle
- microsoftml.rx_fast_trees: Angekurbelte Bäume
- microsoftml.rx_fast_forest: Zufällige Gesamtstruktur-
- microsoftml.rx_logistic_regression: Logistische Regression
- microsoftml.rx_oneclass_svm: Anomalieerkennung
- microsoftml.rx_neural_network: neuronales Netzwerk
- microsoftml.rx_fast_linear Lineares Modell mit stochastischem Doppelkoordinatenanstieg
Python: Von microsoftml bereitgestellte Transformationen
- microsoftml.rx_fast_trees: Angekurbelte Bäume
- microsoftml.concat: verkettet mehrere Spalten zu einem einzelnen Vektor
- microsoftml.categorical: konvertiert eine Textspalte in Kategorien
- microsoftml.categorical_hash: erstellt einen Hash für eine Textspalte und konvertiert diese in Kategorien
Nicht unterstützte Modelltypen
Die folgenden Modelltypen werden nicht unterstützt:
Modelle mit den
rxGlmAlgorithmenrxNaiveBayesin RevoScaleR.PMML-Modelle in R.
Modelle, die mit anderen Nicht-Microsoft-Bibliotheken erstellt wurden.
Modelle, die eine Transformationsfunktion oder Formel verwenden, die eine Transformation enthält, z
A ~ log(B). B. werden in Echtzeitbewertungen 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. Daher werden alle Funktionen, die möglicherweise einen Dolmetscher erfordern, während des Bewertungsschritts nicht unterstützt.
Beispiele
DECLARE @model =
SELECT @model
FROM model_table
WHERE model_name = 'rxLogit trained';
EXECUTE 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_rxPredictunterstützt nur die folgenden .NET-Spaltentypen: double, , float, short, ushort, long, und ulongstring. Möglicherweise müssen Sie nicht unterstützte Typen in Ihren Eingabedaten herausfiltern, bevor Sie sie für die Echtzeitbewertung verwenden.
Informationen zu den entsprechenden SQL-Typen finden Sie unterSQL-CLR Type Mapping oder Map CLR-Parameterdaten.