Sdílet prostřednictvím


sp_rxPredict

Platí pro: SQL Server 2016 (13.x) a novější verze ve Windows

Vygeneruje predikovanou hodnotu pro daný vstup skládající se z modelu strojového učení uloženého v binárním formátu v databázi SQL Serveru.

Poskytuje bodování v modelech strojového učení R a Pythonu téměř v reálném čase. sp_rxPredict je uložená procedura napsaná v jazyce C++ a je optimalizovaná speciálně pro operace vyhodnocování. sp_rxPredict je obálka pro:

Funkce Obal
rxPredict Funkce R - RevoScaleR
- MicrosoftML
rx_predict Funkce Pythonu - revoskalepie
- MicrosoftML

Model se musí vytvořit pomocí jazyka R nebo Python. Jakmile je však serializován a uložen v binárním formátu v cílové instanci databázového stroje, je možné ji využívat z této instance databázového stroje, i když není nainstalovaná integrace jazyka R nebo Python. Další informace najdete v tématu Bodování v reálném čase pomocí sp_rxPredict na SQL Serveru.

Syntaxe

sp_rxPredict ( @model , @input )
[ ; ]

Argumenty

@model

Předem natrénovaný model v podporovaném formátu.

@input

Platný dotaz SQL.

Návratová hodnota

Vrátí se sloupec skóre a také všechny průchozí sloupce ze vstupního zdroje dat.

Pokud algoritmus podporuje generování těchto hodnot, je možné vrátit sloupce s dodatečným skóre, jako je interval spolehlivosti.

Poznámky

Chcete-li povolit použití uložené procedury, musí být sqlCLR v instanci povolen.

Poznámka:

Povolení této možnosti má vliv na zabezpečení. Použijte alternativní implementaci, například funkci PREDICT , pokud sqlCLR není možné povolit na vašem serveru.

Uživatel potřebuje EXECUTE oprávnění k databázi.

Podporované algoritmy

K vytvoření a trénování modelu použijte jeden z podporovaných algoritmů pro R nebo Python, který poskytuje SLUŽBA SQL Server Machine Learning Services (R nebo Python),SQL Server 2016 R Services, SQL Server Machine Learning Server (samostatný) (R nebo Python) nebo SQL Server 2016 R (samostatný).

R: Modely RevoScaleR

1 Modely také podporují nativní bodování s PREDICT funkcí.

R: Modely MicrosoftML

R: Transformace poskytované MicrosoftML

Python: Modely revoscalepy

1 Modely také podporují nativní bodování s PREDICT funkcí.

Python: modely microsoftml

Python: Transformace poskytované microsoftml

Nepodporované typy modelů

Následující typy modelů se nepodporují:

  • Modely využívající rxGlm algoritmy v rxNaiveBayes RevoScaleR.

  • Modely PMML v R.

  • Modely vytvořené pomocí jiných knihoven než Microsoftu

  • Modely využívající transformační funkci nebo vzorec obsahující transformaci, například A ~ log(B) nejsou podporovány v bodování v reálném čase. Pokud chcete použít model tohoto typu, doporučujeme před předáním dat do bodování v reálném čase provést transformaci vstupních dat.

Bodování v reálném čase nepoužívá interpret, takže během kroku vyhodnocování se nepodporují žádné funkce, které by mohly vyžadovat interpret.

Příklady

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

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

Kromě platného dotazu SQL musí vstupní data v @inputData obsahovat sloupce kompatibilní se sloupci v uloženém modelu.

sp_rxPredictpodporuje pouze následující typy sloupců .NET: double, float, short, ushortlong, , ulonga string. Před jejich použitím pro vyhodnocování v reálném čase možná budete muset vyfiltrovat nepodporované typy ve vstupních datech.

Informace o odpovídajících typech SQL najdete v tématu SQL-CLR mapování typů nebo mapování dat parametrů CLR.