Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Şunlar için geçerlidir: SQL Server 2017 (14.x) ve sonraki sürümleri
Azure SQL Yönetilen Örneği
Azure Synapse Analytics
Depolanan modele göre tahmin edilen bir değer veya puan oluşturur. Daha fazla bilgi için bkz. PREDICT T-SQL işlevini kullanarak yerel puanlama.
Ürün seçin
Aşağıdaki satırda, ilgilendiğiniz ürün adını seçin ve yalnızca bu ürünün bilgileri görüntülenir.
Uyarı
PREDICT Azure SQL Veritabanı'nda kullanılamaz.
* SQL Server *
Azure Synapse'i
Analiz
* SQL Yönetilen Örneği *
Azure Synapse'i
Analiz
* Azure Synapse
Analiz *
Sözdizimi
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
MODEL parametresi, puanlama veya tahmin için kullanılan modeli belirtmek için kullanılır. Model değişken, değişmez değer veya skaler ifade olarak belirtilir.
PREDICT
RevoScaleR ve revoscalepy paketleri kullanılarak eğitilen modelleri destekler.
MODEL parametresi, puanlama veya tahmin için kullanılan modeli belirtmek için kullanılır. Model değişken, değişmez değer veya skaler ifade olarak belirtilir.
Azure SQL Yönetilen Örneği'nde RevoScaleRPREDICT ve revoscalepy paketleri kullanılarak eğitilen modelleri destekler.
MODEL parametresi, puanlama veya tahmin için kullanılan modeli belirtmek için kullanılır. Model bir değişken veya değişmez değer ya da skaler ifade ya da skaler alt sorgu olarak belirtilir.
Azure Synapse Analytics'te Açık PREDICTSinir Ağı Değişimi (ONNX) biçimindeki modelleri destekler. Daha fazla bilgi için bkz. ONNX.
VERİ
DATA parametresi, puanlama veya tahmin için kullanılan verileri belirtmek için kullanılır. Veriler sorgudaki bir tablo kaynağı biçiminde belirtilir. Tablo kaynağı bir tablo, tablo diğer adı, CTE diğer adı, görünüm veya tablo değerli işlev olabilir.
RUNTIME = ONNX
Model yürütme için kullanılan makine öğrenmesi altyapısını gösterir. Parametre RUNTIME değeri her zaman ONNXşeklindedir.
RUNTIME Parametresi Azure Synapse Analytics için gereklidir.
RUNTIME = ONNX Bağımsız değişken yalnızca Azure Synapse Analytics'te kullanılabilir.
WITH ( <result_set_definition> )
WITH yan tümcesi, işlevi tarafından döndürülen çıkışın şemasını PREDICT belirtmek için kullanılır.
İşlevin kendisi tarafından PREDICT döndürülen sütunlara ek olarak, veri girişinin parçası olan tüm sütunlar sorguda kullanılabilir.
Dönüş değerleri
Önceden tanımlanmış şema yok; modelin içeriği doğrulanmaz ve döndürülen sütun değerleri de doğrulanmaz.
- İşlev,
PREDICTgiriş olarak sütunlardan geçer. - İşlev
PREDICTayrıca yeni sütunlar oluşturur, ancak sütun sayısı ve veri türleri tahmin için kullanılan modelin türüne bağlıdır.
Veri, model veya sütun biçimiyle ilgili tüm hata iletileri, modelle ilişkili temel tahmin işlevi tarafından döndürülür.
Açıklamalar
PREDICT İşlev, Windows ve Linux üzerinde SQL Server 2017 veya sonraki sürümlerin tüm sürümlerinde desteklenir.
Machine Learning Services'in kullanılabilmesi PREDICTiçin etkinleştirilmesi gerekmez.
Desteklenen algoritmalar
Kullandığınız model , RevoScaleR veya revoscalepy paketlerinden desteklenen algoritmalardan biri kullanılarak oluşturulmuş olmalıdır. Şu anda desteklenen modellerin listesi için bkz. PREDICT T-SQL işlevini kullanarak yerel puanlama.
ONNX model biçimine dönüştürülebilen algoritmalar desteklenir.
OnNX model biçimine dönüştürülebilen algoritmalar ve RevoScaleR veya revoscalepy paketlerinden desteklenen algoritmalardan birini kullanarak oluşturduğunuz modeller desteklenir. RevoScaleR ve revoscalepy'de desteklenen algoritmaların listesi için bkz. PREDICT T-SQL işlevini kullanarak yerel puanlama.
Permissions
için PREDICTizin gerekmez; ancak kullanıcının veritabanında izin alması ve giriş olarak kullanılan verileri sorgulama iznine sahip olması gerekir EXECUTE . Model bir tabloda depolanmışsa, kullanıcının modeli bir tablodan da okuyabilmesi gerekir.
Örnekler
Aşağıdaki örneklerde çağrısı PREDICTiçin söz dizimi gösterilmektedir.
FROM yan tümcesinde PREDICT kullanma
Bu örnek, deyiminin PREDICTSELECT yan tümcesindeki FROM işleve başvurur:
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;
parametresindeki DATA tablo kaynağı için belirtilen d diğer adı, öğesine ait sütunlara başvurmak için dbo.mytablekullanılır. İşlev için belirtilen diğer ad p işlevi tarafından döndürülen sütunlara başvurmak PREDICT için PREDICT kullanılır.
- Model, adlı
Modelstabloda varbinary(max) sütunu olarak depolanır. ve gibiIDdescriptionek bilgiler, modeli tanımlamak için tabloya kaydedilir. - parametresindeki
DATAtablo kaynağı için belirtilen d diğer adı, öğesine ait sütunlara başvurmak içindbo.mytablekullanılır. Giriş verileri sütun adları, modelin giriş adıyla eşleşmelidir. - İşlev için belirtilen diğer ad p işlevi tarafından döndürülen tahmin edilen sütuna başvurmak
PREDICTiçinPREDICTkullanılır. Sütun adı, modelin çıktı adıyla aynı ada sahip olmalıdır. - Tüm giriş veri sütunları ve tahmin edilen sütunlar deyiminde
SELECTgörüntülenebilir.
Yukarıdaki örnek sorgu, skaler alt sorgu olarak belirtilerek MODEL bir görünüm oluşturmak için yeniden yazılabilir:
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;
PREDICT ile INSERT deyimini birleştirme
Tahmin için yaygın bir kullanım örneği, giriş verileri için bir puan oluşturmak ve ardından tahmin edilen değerleri bir tabloya eklemektir. Aşağıdaki örnekte, çağıran uygulamanın bir tabloya tahmin edilen değeri içeren bir satır eklemek için saklı yordam kullandığı varsayılır:
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;
- sonuçları
PREDICTadlıPredictionResultsbir tabloda depolanır. - Model, adlı
Modelstabloda varbinary(max) sütunu olarak depolanır. Modeli tanımlamak için tabloya kimlik ve açıklama gibi ek bilgiler kaydedilebilir. - parametresindeki
DATAtablo kaynağı için belirtilen diğer add, içindekidbo.mytablesütunlara başvurmak için kullanılır. Giriş verileri sütun adları, modelin giriş adıyla eşleşmelidir. - İşlev için belirtilen diğer ad
p, işlev tarafından döndürülen tahmin edilen sütuna başvurmakPREDICTiçinPREDICTkullanılır. Sütun adı, modelin çıktı adıyla aynı ada sahip olmalıdır. - Tüm giriş sütunları ve tahmin edilen sütun deyiminde
SELECTgörüntülenebilir.
İlgili içerik
aşağıdaki makalelerde ilgili kavramlar hakkında daha fazla bilgi edinin: