Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
A következőkre vonatkozik: SQL Server 2017 (14.x) és újabb verziók
Azure SQL Managed Instance
Azure Synapse Analytics
Előrejelzett értéket vagy pontszámot hoz létre egy tárolt modell alapján. További információ: Natív pontozás a PREDICT T-SQL függvény használatával.
Termék kiválasztása
A következő sorban válassza ki a kívánt terméknevet, és csak az adott termék adatai jelenjenek meg.
Megjegyzés:
PREDICT nem érhető el az Azure SQL Database-ben.
* SQL Server *
* felügyelt SQL-példány *
* Azure Synapse
Elemzés *
Szemantika
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
MODELL
A MODEL paraméter a pontozáshoz vagy előrejelzéshez használt modell megadására szolgál. A modell változóként, konstansként vagy skaláris kifejezésként van megadva.
PREDICT Támogatja a RevoScaleR és a revoscalepy csomagok használatával betanított modelleket.
A MODEL paraméter a pontozáshoz vagy előrejelzéshez használt modell megadására szolgál. A modell változóként, konstansként vagy skaláris kifejezésként van megadva.
A felügyelt Azure SQL-példányban PREDICT támogatja a RevoScaleR és a revoscalepy csomagok használatával betanított modelleket.
A MODEL paraméter a pontozáshoz vagy előrejelzéshez használt modell megadására szolgál. A modell változóként, konstansként, skaláris kifejezésként vagy skaláris részqueryként van megadva.
Az Azure Synapse Analyticsben PREDICTnyílt neurális hálózati exchange (ONNX) formátumú modelleket támogat. További információ: ONNX.
ADAT
A DATA paraméter a pontozáshoz vagy előrejelzéshez használt adatok megadására szolgál. Az adatok táblaforrás formájában lesznek megadva a lekérdezésben. A tábla forrása lehet tábla, tábla aliasa, CTE aliasa, nézete vagy táblaértékes függvénye.
FUTTATÓKÖRNYEZET = ONNX
A modell végrehajtásához használt gépi tanulási motort jelzi. A RUNTIME paraméter értéke mindig ONNX. A RUNTIME paraméter szükséges az Azure Synapse Analyticshez. Az RUNTIME = ONNX argumentum csak az Azure Synapse Analyticsben érhető el.
WITH ( <result_set_definition> )
A WITH záradék a függvény által visszaadott kimenet sémájának megadására PREDICT szolgál.
A függvény által PREDICT visszaadott oszlopok mellett az adatbevitel részét képező összes oszlop használható a lekérdezésben.
Visszaadott értékek
Nem érhető el előre definiált séma; a modell tartalma nincs érvényesítve, és a visszaadott oszlopértékek sem lesznek érvényesítve.
- A
PREDICTfüggvény bemenetként halad át az oszlopokon. - A
PREDICTfüggvény új oszlopokat is létrehoz, de az oszlopok száma és adattípusa az előrejelzéshez használt modell típusától függ.
Az adatokkal, a modellel vagy az oszlopformátummal kapcsolatos hibaüzeneteket a modellhez társított mögöttes előrejelzési függvény adja vissza.
Megjegyzések
A PREDICT függvény az SQL Server 2017 vagy újabb verzióiban támogatott Windows és Linux rendszeren.
A Machine Learning Services használatához PREDICTnem szükséges engedélyezni.
Támogatott algoritmusok
A használt modellt a RevoScaleR vagy a revoscalepy csomagok egyik támogatott algoritmusával kell létrehozni. Az aktuálisan támogatott modellek listáját a PREDICT T-SQL függvény natív pontozása című témakörben találja.
Az ONNX-modellformátummá konvertálható algoritmusok támogatottak.
Az ONNX-modellformátummá konvertálható algoritmusok és a RevoScaleR- vagy revoscalepy-csomagok egyik támogatott algoritmusával létrehozott modellek támogatottak. A RevoScaleR és a revoscalepy jelenleg támogatott algoritmusainak listáját lásd: Natív pontozás a PREDICT T-SQL függvény használatával.
Permissions
Nincs szükség engedélyre PREDICT; a felhasználónak azonban engedélyre van szüksége az adatbázisban, és engedélyt kell EXECUTE adnia a bemenetként használt adatok lekérdezésére. A felhasználónak képesnek kell lennie a modell táblázatból való olvasására is, ha a modellt egy táblában tárolták.
Példák
Az alábbi példák a hívás PREDICTszintaxisát mutatják be.
A PREDICT használata FROM záradékban
Ez a példa egy PREDICT utasítás záradékában található FROM függvényre SELECT hivatkozik:
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;
A paraméterben a DATA tábla forrásához megadott d alias a hozzá tartozó oszlopokra hivatkozikdbo.mytable. A függvényhez PREDICT megadott p alias a függvény által PREDICT visszaadott oszlopokra hivatkozik.
- A modell varbinary(max) oszlopként van tárolva a nevű
Modelstáblában. A modell azonosításához további információk, példáulIDdescriptiona táblába mentve és mentve lesznek. - A paraméterben a
DATAtábla forrásához megadott d alias a hozzá tartozó oszlopokra hivatkozikdbo.mytable. A bemeneti adatoszlopok nevének meg kell egyeznie a modell bemeneteinek nevével. - A függvényhez
PREDICTmegadott p alias a függvény általPREDICTvisszaadott előrejelzett oszlopra hivatkozik. Az oszlop nevének ugyanazzal a névvel kell rendelkeznie, mint a modell kimeneti neve. - Az összes bemeneti adatoszlop és az előrejelzett oszlopok megjeleníthetők az
SELECTutasításban.
Az előző példa lekérdezés skaláris alkonyatként megadva MODEL újraírható nézet létrehozásához:
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;
A PREDICT és az INSERT utasítás kombinálása
Az előrejelzés gyakori használati esete a bemeneti adatok pontszámának létrehozása, majd az előrejelzett értékek táblázatba való beszúrása. Az alábbi példa feltételezi, hogy a hívó alkalmazás tárolt eljárással szúr be egy előrejelzett értéket tartalmazó sort egy táblába:
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;
- Az eredmények
PREDICTegy úgynevezett táblábanPredictionResultsvannak tárolva. - A modell varbinary(max) oszlopként van tárolva a nevű
Modelstáblában. A modell azonosításához további információkat, például azonosítót és leírást is menthet a táblába. - A paraméter táblaforrásához megadott alias
dhasználatával hivatkozhat a paraméter oszlopairadbo.mytable.DATAA bemeneti adatoszlopok nevének meg kell egyeznie a modell bemeneteinek nevével. - A függvényhez
PREDICTmegadott aliaspa függvény általPREDICTvisszaadott előrejelzett oszlopra hivatkozik. Az oszlop nevének ugyanazzal a névvel kell rendelkeznie, mint a modell kimeneti neve. - Az utasításban
SELECTminden bemeneti oszlop és az előrejelzett oszlop megjeleníthető.
Kapcsolódó tartalom
További információ a kapcsolódó fogalmakról az alábbi cikkekben: