Bagikan melalui


sp_rxPredict

Berlaku untuk: SQL Server 2016 (13.x) dan versi yang lebih baru di Windows

Menghasilkan nilai yang diprediksi untuk input tertentu yang terdiri dari model pembelajaran mesin yang disimpan dalam format biner dalam database SQL Server.

Menyediakan penilaian pada model pembelajaran mesin R dan Python hampir secara real time. sp_rxPredict adalah prosedur tersimpan yang ditulis dalam C++, dan dioptimalkan khusus untuk operasi penilaian. sp_rxPredict adalah pembungkus untuk:

Fungsi Pembungkus
rxPredict Fungsi R - RevoScaleR
- MicrosoftML
rx_predict fungsi Python - revoscalepy
- microsoftml

Model harus dibuat menggunakan R atau Python. Namun, setelah diserialisasikan dan disimpan dalam format biner pada instans mesin database target, itu dapat digunakan dari instans mesin database tersebut, bahkan ketika integrasi R atau Python tidak diinstal. Untuk informasi selengkapnya, lihat Penilaian real time dengan sp_rxPredict di SQL Server.

Sintaks

sp_rxPredict ( @model , @input )
[ ; ]

Argumen

@model

Model yang telah dilatih sebelumnya dalam format yang didukung.

@input

Kueri SQL yang valid.

Mengembalikan nilai

Kolom skor dikembalikan, serta kolom pass-through apa pun dari sumber data input.

Kolom skor ekstra, seperti interval keyakinan, dapat dikembalikan jika algoritma mendukung pembuatan nilai tersebut.

Keterangan

Untuk mengaktifkan penggunaan prosedur tersimpan, SQLCLR harus diaktifkan pada instans.

Catatan

Ada implikasi keamanan untuk mengaktifkan opsi ini. Gunakan implementasi alternatif, seperti fungsi PREDICT , jika SQLCLR tidak dapat diaktifkan di server Anda.

Pengguna memerlukan EXECUTE izin pada database.

Algoritme yang didukung

Untuk membuat dan melatih model, gunakan salah satu algoritma yang didukung untuk R atau Python, yang disediakan oleh SQL Server Pembelajaran Mesin Services (R atau Python), SQL Server 2016 R Services, SQL Server Pembelajaran Mesin Server (Standalone) (R atau Python), atau SQL Server 2016 R Server (Standalone).

R: Model RevoScaleR

1 Model juga mendukung penilaian asli dengan PREDICT fungsi .

R: Model MicrosoftML

R: Transformasi yang disediakan oleh MicrosoftML

Python: mencabut skala model

  • rx_lin_mod 1
  • rx_logit 1
  • rx_btrees 1
  • rx_dtree 1
  • rx_dforest 1

1 Model juga mendukung penilaian asli dengan PREDICT fungsi .

Python: model microsoftml

Python: Transformasi yang disediakan oleh microsoftml

Jenis model yang tidak didukung

Jenis model berikut tidak didukung:

  • Model yang rxGlm menggunakan algoritma atau rxNaiveBayes di RevoScaleR.

  • Model PMML di R.

  • Model yang dibuat menggunakan pustaka non-Microsoft lainnya.

  • Model yang menggunakan fungsi transformasi atau rumus yang berisi transformasi, seperti A ~ log(B) tidak didukung dalam penilaian real time. Untuk menggunakan model jenis ini, kami sarankan Anda melakukan transformasi pada data input sebelum meneruskan data ke penilaian real-time.

Penilaian real time tidak menggunakan penerjemah, sehingga fungsionalitas apa pun yang mungkin memerlukan penerjemah tidak didukung selama langkah penilaian.

Contoh

DECLARE @model =
    SELECT @model
    FROM model_table
    WHERE model_name = 'rxLogit trained';

EXECUTE sp_rxPredict @model = @model,
    @inputData = N'SELECT * FROM data';

Selain menjadi kueri SQL yang valid, data input di @inputData harus menyertakan kolom yang kompatibel dengan kolom dalam model yang disimpan.

sp_rxPredicthanya mendukung jenis kolom .NET berikut: double, , float, shortushort, long, ulong, dan string. Anda mungkin perlu memfilter jenis yang tidak didukung dalam data input Anda sebelum menggunakannya untuk penilaian real time.

Untuk informasi tentang jenis SQL terkait, lihat SQL-CLR Pemetaan Jenis atau Memetakan data parameter CLR.