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 2017 (14.x) i nowsze wersje
usługi Azure SQL Managed Instance
Azure Synapse Analytics
Generuje przewidywaną wartość lub wyniki na podstawie przechowywanego modelu. Aby uzyskać więcej informacji, zobacz Natywne ocenianie przy użyciu funkcji PREDICT T-SQL.
Wybieranie produktu
W poniższym wierszu wybierz nazwę produktu, którą cię interesuje, i zostanie wyświetlona tylko informacja o tym produkcie.
Uwaga / Notatka
PREDICT nie jest dostępna w usłudze Azure SQL Database.
Ważna
Składnia PREDICT różni się w zależności od produktu. Użyj selektora produktów, aby wyświetlić poprawną składnię dla platformy. W szczególności usługa Azure Synapse Analytics wymaga argumentu RUNTIME = ONNX , który nie jest używany w programie SQL Server ani w usłudze Azure SQL Managed Instance.
* SQL Server *
Azure Synapse
analizy
* Zarządzana instancja SQL *
Azure Synapse
analizy
* Azure Synapse
Analiza *
Składnia
PREDICT
(
MODEL = @model | model_literal,
DATA = object AS <table_alias>
)
WITH ( <result_set_definition> )
<result_set_definition> ::=
{
{ column_name
data_type
[ COLLATE collation_name ]
[ NULL | NOT NULL ]
}
[,...n ]
}
MODEL = @model | model_literal
PREDICT
(
MODEL = <model_object>,
DATA = object AS <table_alias>
[, RUNTIME = ONNX ]
)
WITH ( <result_set_definition> )
<result_set_definition> ::=
{
{ column_name
data_type
[ COLLATE collation_name ]
[ NULL | NOT NULL ]
}
[,...n ]
}
<model_object> ::=
{
model_literal
| model_variable
| ( scalar_subquery )
}
Arguments
MODEL
Użyj parametru MODEL , aby określić model oceniania lub przewidywania. Określ model jako zmienną, literał lub wyrażenie skalarne.
PREDICT obsługuje modele trenowane przy użyciu pakietów RevoScaleR i revoscalepy .
Użyj parametru MODEL , aby określić model oceniania lub przewidywania. Określ model jako zmienną, literał lub wyrażenie skalarne.
W usłudze Azure SQL Managed Instance PREDICT obsługuje modele trenowane przy użyciu pakietów RevoScaleR i revoscalepy .
Użyj parametru MODEL , aby określić model oceniania lub przewidywania. Określ model jako zmienną, literał, wyrażenie skalarne lub podzapytywanie skalarne.
W usłudze Azure Synapse Analytics PREDICT obsługuje modele w formacie Open Neural Network Exchange (ONNX). Aby uzyskać więcej informacji, zobacz ONNX.
DANE
Parametr DATA określa dane dotyczące oceniania lub przewidywania. Określ dane w postaci źródła tabeli w zapytaniu. Źródłem tabeli może być tabela, alias tabeli, alias CTE, widok lub funkcja wartości tabeli.
RUNTIME = ONNX
Wskazuje aparat uczenia maszynowego używany do wykonywania modelu. Wartość parametru RUNTIME to zawsze ONNX. Parametr RUNTIME jest wymagany dla usługi Azure Synapse Analytics. Argument RUNTIME = ONNX jest dostępny tylko w usłudze Azure Synapse Analytics.
WITH ( <result_set_definition> )
Użyj klauzuli WITH, aby określić schemat danych wyjściowych zwracanych przez PREDICT funkcję.
Oprócz kolumn zwracanych przez PREDICT samą funkcję wszystkie kolumny będące częścią danych wejściowych są dostępne do użycia w zapytaniu.
Wartości zwracane
Nie jest dostępny wstępnie zdefiniowany schemat; zawartość modelu nie jest weryfikowana, a zwrócone wartości kolumn nie są weryfikowane.
- Funkcja
PREDICTprzekazuje kolumny jako dane wejściowe. - Funkcja
PREDICTgeneruje również nowe kolumny, ale liczba kolumn i ich typów danych zależy od typu modelu używanego do przewidywania.
Wszelkie komunikaty o błędach związane z danymi, modelem lub formatem kolumny są zwracane przez podstawową funkcję przewidywania skojarzona z modelem.
Uwagi
Funkcja jest obsługiwana PREDICT we wszystkich wersjach programu SQL Server 2017 lub nowszych w systemach Windows i Linux.
Usługi Machine Learning Services nie muszą być włączone do korzystania z programu PREDICT.
Obsługiwane algorytmy
Używany model musi zostać utworzony przy użyciu jednego z obsługiwanych algorytmów z pakietów RevoScaleR lub revoscalepy . Aby uzyskać listę aktualnie obsługiwanych modeli, zobacz Natywne ocenianie przy użyciu funkcji PREDICT T-SQL.
Obsługiwane są algorytmy, które można przekonwertować na format modelu ONNX .
Obsługiwane są algorytmy, które można przekonwertować na format modelu ONNX i modele utworzone przy użyciu jednego z obsługiwanych algorytmów z pakietów RevoScaleR lub revoscalepy . Aby uzyskać listę aktualnie obsługiwanych algorytmów w programie RevoScaleR i revoscalepy, zobacz Native scoring using the PREDICT T-SQL function (Ocenianie natywne przy użyciu funkcji PREDICT T-SQL).
Permissions
W przypadku PREDICTbazy danych nie są wymagane żadne uprawnienia. Użytkownik musi EXECUTE mieć uprawnienia do bazy danych i uprawnienia do wykonywania zapytań dotyczących danych używanych jako danych wejściowych. Użytkownik musi również mieć możliwość odczytania modelu z tabeli, jeśli model został zapisany w tabeli.
Przykłady
W poniższych przykładach pokazano składnię wywoływania metody PREDICT.
Używanie funkcji PREDICT w klauzuli FROM
Ten przykład odwołuje się do PREDICT funkcji w FROM klauzuli instrukcji SELECT :
SELECT d.*, p.Score
FROM PREDICT(MODEL = @model,
DATA = dbo.mytable AS d) WITH (Score FLOAT) AS p;
DECLARE @model VARBINARY(max) = (SELECT test_model FROM scoring_model WHERE model_id = 1);
SELECT d.*, p.Score
FROM PREDICT(MODEL = @model,
DATA = dbo.mytable AS d, RUNTIME = ONNX) WITH (Score FLOAT) AS p;
Alias d określony dla źródła tabeli w parametrze DATA odwołuje się do kolumn należących do dbo.mytable. Alias p określony dla PREDICT funkcji odwołuje się do kolumn zwracanych przez PREDICT funkcję.
- Model jest przechowywany jako kolumna varbinary(max) w tabeli o nazwie
Models. Dodatkowe informacje, takie jakIDidescription, są zapisywane w tabeli w celu zidentyfikowania modelu. - Alias d określony dla źródła tabeli w parametrze
DATAodwołuje się do kolumn należących dodbo.mytable. Nazwy kolumn danych wejściowych powinny być zgodne z nazwą danych wejściowych modelu. - Alias p określony dla
PREDICTfunkcji odwołuje się do przewidywanej kolumny zwróconejPREDICTprzez funkcję. Nazwa kolumny powinna mieć taką samą nazwę jak nazwa danych wyjściowych modelu. - Wszystkie kolumny danych wejściowych i przewidywane kolumny są dostępne do wyświetlenia w instrukcji
SELECT.
Poprzednie przykładowe zapytanie można przepisać, aby utworzyć widok, określając MODEL jako podzapytywanie skalarne:
CREATE VIEW predictions
AS
SELECT d.*, p.Score
FROM PREDICT(MODEL = (SELECT test_model FROM scoring_model WHERE model_id = 1),
DATA = dbo.mytable AS d, RUNTIME = ONNX) WITH (Score FLOAT) AS p;
Łączenie instrukcji PREDICT z instrukcją INSERT
Typowym przypadkiem użycia przewidywania jest wygenerowanie wyniku dla danych wejściowych, a następnie wstawienie przewidywanych wartości do tabeli. W poniższym przykładzie przyjęto założenie, że aplikacja wywołująca używa procedury składowanej do wstawiania wiersza zawierającego przewidywaną wartość do tabeli:
DECLARE @model VARBINARY(max) = (SELECT model FROM scoring_model WHERE model_name = 'ScoringModelV1');
INSERT INTO loan_applications (c1, c2, c3, c4, score)
SELECT d.c1, d.c2, d.c3, d.c4, p.score
FROM PREDICT(MODEL = @model, DATA = dbo.mytable AS d) WITH(score FLOAT) AS p;
DECLARE @model VARBINARY(max) = (SELECT model FROM scoring_model WHERE model_name = 'ScoringModelV1');
INSERT INTO loan_applications (c1, c2, c3, c4, score)
SELECT d.c1, d.c2, d.c3, d.c4, p.score
FROM PREDICT(MODEL = @model, DATA = dbo.mytable AS d, RUNTIME = ONNX) WITH(score FLOAT) AS p;
- Wyniki
PREDICTsą przechowywane w tabeli o nazwiePredictionResults. - Model jest przechowywany jako kolumna varbinary(max) w tabeli o nazwie
Models. Dodatkowe informacje, takie jak identyfikator i opis, można zapisać w tabeli w celu zidentyfikowania modelu. - Alias
dokreślony dla źródła tabeli w parametrzeDATAodwołuje się do kolumn w plikudbo.mytable. Nazwy kolumn danych wejściowych powinny być zgodne z nazwą danych wejściowych modelu. - Alias
pokreślony dlaPREDICTfunkcji odwołuje się do przewidywanej kolumny zwróconejPREDICTprzez funkcję. Nazwa kolumny powinna mieć taką samą nazwę jak nazwa danych wyjściowych modelu. - Wszystkie kolumny wejściowe i przewidywana kolumna są dostępne do wyświetlenia w instrukcji
SELECT.
Treści powiązane
Dowiedz się więcej o powiązanych pojęciach w następujących artykułach: