Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zalogować się lub zmienić katalogi.
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 jest niedostępna w usłudze Azure SQL Database.
* SQL Server *
Azure Synapse
analizy
* SQL Managed Instance *
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
Parametr służy do określania MODEL modelu używanego do oceniania lub przewidywania. Model jest określany jako zmienna lub literał lub wyrażenie skalarne.
PREDICT obsługuje modele trenowane przy użyciu pakietów RevoScaleR i revoscalepy .
Parametr służy do określania MODEL modelu używanego do oceniania lub przewidywania. Model jest określany jako zmienna lub 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 .
Parametr służy do określania MODEL modelu używanego do oceniania lub przewidywania. Model jest określany jako zmienna lub literał albo 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 służy do określania danych używanych do oceniania lub przewidywania. Dane są określane w postaci źródła tabeli w zapytaniu. Źródło tabeli może być tabelą, aliasem tabeli, aliasem CTE, widokiem lub funkcją 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> )
Klauzula WITH służy do określania schematu 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 i zwracane 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, który został użyty 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 służy do odwołowania się do kolumn należących do dbo.mytable. Alias p określony dla PREDICT funkcji służy do odwołowania 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
DATAsłuży do odwołowania 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 służy do odwołowania 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 parametrzeDATAsłuży do odwołowania się do kolumn w plikudbo.mytable. Nazwy kolumn danych wejściowych powinny być zgodne z nazwą danych wejściowych modelu. - Alias
pokreślony dlaPREDICTfunkcji służy do odwołowania 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: