Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować się zalogować lub zmienić katalog.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
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
- rxFastTrees: Szybkie drzewo
- rxFastForest: Szybki las
- rxLogisticRegression: Regresja logistyczna
- rxOneClassSvm: OneClass SVM
- rxNeuralNet: sieć neuronowa
- rxFastLinear: szybki model liniowy
R: Przekształcenia dostarczane przez język MicrosoftML
- rxFastTrees: Szybkie drzewo
- concat: Transformacja Concat w uczeniu maszynowym
- kategoryczne: Przekształcanie danych kategorialnych w uczeniu maszynowym
- kategoryczneHash: Przekształcanie skrótów skrótów danych uczenia maszynowego
- selectFeatures: Przekształcanie wyboru funkcji uczenia maszynowego
Python: modele revoscalepy
1 Modele obsługują również natywne ocenianie za pomocą PREDICT funkcji .
Python: modele microsoftml
- microsoftml.rx_fast_trees: wzmocnione drzewa
- microsoftml.rx_fast_forest: lasu losowego
- microsoftml.rx_logistic_regression: regresji logistycznej
- microsoftml.rx_oneclass_svm: wykrywanie anomalii
- microsoftml.rx_neural_network: sieci neuronowej
- microsoftml.rx_fast_linear: Model liniowy ze współrzędnymi dwurzędnymi stochastycznymi
Python: przekształcenia dostarczane przez microsoftml
- microsoftml.rx_fast_trees: wzmocnione drzewa
- microsoftml.concat: łączy wiele kolumn w jeden wektor
- microsoftml.categorical: konwertuje kolumnę tekstową na kategorie
- microsoftml.categorical_hash: skróty i konwertuje kolumnę tekstową na kategorie
Nieobsługiwane typy modeli
Następujące typy modeli nie są obsługiwane:
Modele korzystające z
rxGlmalgorytmów lubrxNaiveBayesw 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.