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.
Önemli
Söz PREDICT dizimi ürüne göre değişir. Platformunuzun doğru söz dizimini görüntülemek için ürün seçiciyi kullanın. Özellikle Azure Synapse Analytics, SQL Server veya Azure SQL Yönetilen Örneği'nde kullanılmayan bağımsız değişkeni gerektirir RUNTIME = ONNX .
* 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 Puanlama veya tahmin modelini belirtmek için parametresini kullanın. Modeli değişken, değişmez değer veya skaler ifade olarak belirtin.
PREDICT
RevoScaleR ve revoscalepy paketleri kullanılarak eğitilen modelleri destekler.
MODEL Puanlama veya tahmin modelini belirtmek için parametresini kullanın. Modeli değişken, değişmez değer veya skaler ifade olarak belirtin.
Azure SQL Yönetilen Örneği'nde PREDICT ve revoscalepy paketleri kullanılarak eğitilen modelleri destekler.
MODEL Puanlama veya tahmin modelini belirtmek için parametresini kullanın. Modeli değişken, değişmez değer, skaler ifade veya skaler alt sorgu olarak belirtin.
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 verilerini belirtir. Sorguda tablo kaynağı biçiminde veri belirtin. 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> )
İşlev tarafından döndürülen çıkışın şemasını belirtmek için WITH yan tümcesini PREDICT kullanın.
İş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 PREDICTFROM yan tümcesindeki SELECT 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;
parametresinde DATA tablo kaynağı için belirtilen d diğer adı, öğesine ait sütunlara dbo.mytablebaşvurur. İşlev için PREDICT belirtilen diğer ad p işlevi tarafından döndürülen sütunlara başvururPREDICT.
- Model, adlı tabloda
Modelssütunu olarak depolanır. ve gibiIDdescriptionek bilgiler, modeli tanımlamak için tabloya kaydedilir. - parametresinde
DATAtablo kaynağı için belirtilen d diğer adı, öğesine ait sütunlaradbo.mytablebaşvurur. Giriş verileri sütun adları, modelin giriş adıyla eşleşmelidir. - İşlev için
PREDICTbelirtilen diğer ad, işlev tarafından döndürülen tahmin edilen sütuna başvururPREDICT. 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ı tabloda
Modelssütunu olarak depolanır. Modeli tanımlamak için tabloya kimlik ve açıklama gibi ek bilgiler kaydedilebilir. - parametresinde
DATAtablo kaynağı için belirtilen diğer add, içindeki sütunlara başvururdbo.mytable. Giriş verileri sütun adları, modelin giriş adıyla eşleşmelidir. - İşlev için
PREDICTbelirtilen diğer adp, işlev tarafından döndürülen tahmin edilen sütuna başvururPREDICT. 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: