Udostępnij przez


sp_rxPredict

Dotyczy: SQL Server 2016 (13.x) i nowsze wersje w systemie Windows

Generuje przewidywaną wartość dla danych wejściowych składających się z modelu uczenia maszynowego przechowywanego w formacie binarnym w bazie danych programu SQL Server.

Zapewnia ocenianie modeli uczenia maszynowego W języku R i Python niemal w czasie rzeczywistym. sp_rxPredict jest procedurą składowaną napisaną w języku C++, która jest zoptymalizowana specjalnie pod kątem operacji oceniania. sp_rxPredict to otoka dla:

Funkcja Otoki
rxPredict R, funkcja - RevoScaleR
- MicrosoftML
rx_predict Funkcja języka Python - revoscalepie
- MicrosoftML

Model musi zostać utworzony przy użyciu języka R lub Python. Jednak po serializacji i zapisie w formacie binarnym w docelowym wystąpieniu aparatu bazy danych można go użyć z tego wystąpienia aparatu bazy danych, nawet jeśli integracja języka R lub Python nie jest zainstalowana. Aby uzyskać więcej informacji, zobacz Ocenianie w czasie rzeczywistym za pomocą sp_rxPredict w programie SQL Server.

Składnia

sp_rxPredict ( @model , @input )
[ ; ]

Argumenty (w programowaniu)

@model

Wstępnie wytrenowany model w obsługiwanym formacie.

@input

Prawidłowe zapytanie SQL.

Wartość zwracana

Zwracana jest kolumna wyników, a także wszystkie kolumny przekazywane ze źródła danych wejściowych.

Dodatkowe kolumny wyników, takie jak interwał ufności, mogą być zwracane, jeśli algorytm obsługuje generowanie takich wartości.

Uwagi

Aby umożliwić korzystanie z procedury składowanej, należy włączyć funkcję SQLCLR w wystąpieniu.

Uwaga / Notatka

Istnieją implikacje dotyczące zabezpieczeń umożliwiające włączenie tej opcji. Użyj alternatywnej implementacji, takiej jak funkcja PREDICT , jeśli nie można włączyć funkcji SQLCLR na serwerze.

Użytkownik potrzebuje EXECUTE uprawnień do bazy danych.

Obsługiwane algorytmy

Aby utworzyć i wytrenować model, należy użyć jednego z obsługiwanych algorytmów dla języka R lub Python udostępnianych przez usługi SQL Server Machine Learning Services (R lub Python), usługi SQL Server 2016 R Services, program SQL Server Machine Learning Server (autonomiczny) (R lub Python) lub program SQL Server 2016 R Server (autonomiczny).

R: Modele RevoScaleR

1 Modele obsługują również natywne ocenianie za pomocą PREDICT funkcji .

R: Modele MicrosoftML

R: Przekształcenia dostarczane przez język MicrosoftML

Python: modele revoscalepy

1 Modele obsługują również natywne ocenianie za pomocą PREDICT funkcji .

Python: modele microsoftml

Python: przekształcenia dostarczane przez microsoftml

Nieobsługiwane typy modeli

Następujące typy modeli nie są obsługiwane:

  • Modele korzystające z rxGlm algorytmów lub rxNaiveBayes w programie RevoScaleR.

  • Modele PMML w języku R.

  • Modele utworzone przy użyciu innych bibliotek innych niż Microsoft.

  • Modele korzystające z funkcji przekształcania lub formuły zawierającej transformację, takie jak A ~ log(B) nie są obsługiwane w ocenianiu w czasie rzeczywistym. Aby użyć modelu tego typu, zalecamy przeprowadzenie przekształcenia danych wejściowych przed przekazaniem danych do oceniania w czasie rzeczywistym.

Ocenianie w czasie rzeczywistym nie korzysta z interpretera, więc żadne funkcje, które mogą wymagać interpretera, nie są obsługiwane w kroku oceniania.

Przykłady

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

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

Oprócz prawidłowego zapytania SQL dane wejściowe w @inputData muszą zawierać kolumny zgodne z kolumnami w przechowywanym modelu.

sp_rxPredictobsługuje tylko następujące typy kolumn .NET: double, , float, shortushort, long, ulong, i string. Może być konieczne odfiltrowanie nieobsługiwanych typów w danych wejściowych przed użyciem ich do oceniania w czasie rzeczywistym.

Aby uzyskać informacje o odpowiednich typach SQL, zobacz SQL-CLR Mapowanie typów lub Dane parametrów mapowania CLR.