Dela via


sp_rxPredict

Gäller för: SQL Server 2016 (13.x) och senare versioner i Windows

Genererar ett förutsagt värde för en viss indata som består av en maskininlärningsmodell som lagras i binärt format i en SQL Server-databas.

Ger bedömning av R- och Python-maskininlärningsmodeller i nära realtid. sp_rxPredict är en lagrad procedur skriven i C++, och är optimerad specifikt för bedömningsåtgärder. sp_rxPredict är en omslutning för:

Funktion Omslag
rxPredict R-funktion - RevoScaleR
- MicrosoftML
rx_predict Python-funktion - revoscalepy
- MicrosoftML

Modellen måste skapas med R eller Python. Men när den har serialiserats och lagrats i binärt format på en måldatabasmotorinstans kan den användas från den databasmotorinstansen, även när R- eller Python-integreringen inte är installerad. Mer information finns i Realtidsbedömning med sp_rxPredict i SQL Server.

Syntax

sp_rxPredict ( @model , @input )
[ ; ]

Argumentpunkter

@model

En förtränad modell i ett format som stöds.

@input

En giltig SQL-fråga.

Returvärde

En poängkolumn returneras samt eventuella direktkolumner från indatakällan.

Extra poängkolumner, till exempel konfidensintervall, kan returneras om algoritmen stöder generering av sådana värden.

Anmärkningar

För att aktivera användning av den lagrade proceduren måste SQLCLR vara aktiverat på instansen.

Anmärkning

Det finns säkerhetskonsekvenser för att aktivera det här alternativet. Använd en alternativ implementering, till exempel funktionen PREDICT , om SQLCLR inte kan aktiveras på servern.

Användaren behöver EXECUTE behörighet för databasen.

Algoritmer som stöds

Om du vill skapa och träna modellen använder du en av de algoritmer som stöds för R eller Python, som tillhandahålls av SQL Server Machine Learning Services (R eller Python),SQL Server 2016 R Services, SQL Server Machine Learning Server (fristående) (R eller Python) eller SQL Server 2016 R Server (fristående).

R: RevoScaleR-modeller

1 Modeller stöder också intern bedömning med PREDICT funktionen.

R: MicrosoftML-modeller

R: Transformeringar som tillhandahålls av MicrosoftML

Python: revoscalepy-modeller

1 Modeller stöder också intern bedömning med PREDICT funktionen.

Python: microsoftml-modeller

Python: Transformeringar som tillhandahålls av microsoftml

Modelltyper som inte stöds

Följande modelltyper stöds inte:

  • Modeller som använder rxGlm algoritmerna eller rxNaiveBayes i RevoScaleR.

  • PMML-modeller i R.

  • Modeller som skapats med andra bibliotek än Microsoft.

  • Modeller som använder en transformeringsfunktion eller formel som innehåller en transformering, till exempel A ~ log(B) stöds inte i realtidsbedömning. Om du vill använda en modell av den här typen rekommenderar vi att du utför transformeringen på indata innan du skickar data till realtidsbedömning.

Realtidsbedömning använder inte en tolk, så alla funktioner som kan kräva en tolk stöds inte under bedömningssteget.

Exempel

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

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

Förutom att vara en giltig SQL-fråga måste indata i @inputData innehålla kolumner som är kompatibla med kolumnerna i den lagrade modellen.

sp_rxPredictstöder endast följande .NET-kolumntyper: double, float, short, ushort, long, och ulongstring. Du kan behöva filtrera bort typer som inte stöds i dina indata innan du använder dem för bedömning i realtid.

Information om motsvarande SQL-typer finns iSQL-CLR Typmappning eller Mappa CLR-parameterdata.