Mulai cepat: Fungsi R dengan pembelajaran mesin SQL
Berlaku untuk: SQL Server 2016 (13.x) dan yang lebih baru Azure SQL Managed Instance
Dalam mulai cepat ini, Anda akan mempelajari cara menggunakan fungsi matematika dan utilitas R dengan SQL Server Machine Learning Services atau di Kluster Big Data. Fungsi statistik sering kali rumit untuk diterapkan dalam T-SQL, tetapi dapat dilakukan di R hanya dengan beberapa baris kode.
Dalam mulai cepat ini, Anda akan mempelajari cara menggunakan fungsi matematika dan utilitas R dengan SQL Server Machine Learning Services. Fungsi statistik sering kali rumit untuk diterapkan dalam T-SQL, tetapi dapat dilakukan di R hanya dengan beberapa baris kode.
Dalam mulai cepat ini, Anda akan mempelajari cara menggunakan fungsi matematika dan utilitas R dengan SQL Server R Services. Fungsi statistik sering kali rumit untuk diterapkan dalam T-SQL, tetapi dapat dilakukan di R hanya dengan beberapa baris kode.
Dalam mulai cepat ini, Anda akan mempelajari cara menggunakan struktur data dan jenis data saat menggunakan R di Azure SQL Managed Instance Machine Learning Services. Anda akan mempelajari tentang memindahkan data antara R dan SQL Managed Instance, dan masalah umum yang mungkin terjadi.
Prasyarat
Anda memerlukan prasyarat berikut untuk menjalankan mulai cepat ini.
- SQL Server Layanan Pembelajaran Mesin. Untuk menginstal Layanan Pembelajaran Mesin, lihat panduan penginstalan Windows atau panduan penginstalan Linux. Anda juga dapat mengaktifkan Layanan Pembelajaran Mesin di SQL Server Kluster Big Data.
- SQL Server Layanan Pembelajaran Mesin. Untuk menginstal Layanan Pembelajaran Mesin, lihat panduan penginstalan Windows.
- SQL Server 2016 R Services. Untuk menginstal Layanan R, lihat panduan penginstalan Windows.
- Azure SQL Managed Instance Layanan Pembelajaran Mesin. Untuk informasi, lihat ringkasan Azure SQL Managed Instance Machine Learning Services.
- Alat untuk menjalankan kueri SQL yang berisi skrip R. Mulai cepat ini menggunakan Azure Data Studio.
Membuat prosedur tersimpan untuk menghasilkan angka acak
Untuk kesederhanaan, mari kita gunakan paket R stats
, yang diinstal dan dimuat secara default. Paket ini berisi ratusan fungsi untuk tugas statistik umum, di antaranya rnorm
fungsi , yang menghasilkan jumlah angka acak tertentu menggunakan distribusi normal, mengingat simpanpan standar dan rata-rata.
Misalnya, kode R berikut mengembalikan 100 angka pada rata-rata 50, mengingat simpantan baku 3.
as.data.frame(rnorm(100, mean = 50, sd = 3));
Untuk memanggil baris R ini dari T-SQL, tambahkan fungsi R dalam parameter skrip R dari sp_execute_external_script
, seperti ini:
EXECUTE sp_execute_external_script
@language = N'R'
, @script = N'
OutputDataSet <- as.data.frame(rnorm(100, mean = 50, sd =3));'
, @input_data_1 = N' ;'
WITH RESULT SETS (([Density] float NOT NULL));
Bagaimana jika Anda ingin mempermudah untuk menghasilkan sekumpulan angka acak yang berbeda?
Itu mudah jika dikombinasikan dengan T-SQL. Anda menentukan prosedur tersimpan yang mendapatkan argumen dari pengguna, lalu meneruskan argumen tersebut ke dalam skrip R sebagai variabel.
CREATE PROCEDURE MyRNorm (
@param1 INT
, @param2 INT
, @param3 INT
)
AS
EXECUTE sp_execute_external_script @language = N'R'
, @script = N'
OutputDataSet <- as.data.frame(rnorm(mynumbers, mymean, mysd));'
, @input_data_1 = N' ;'
, @params = N' @mynumbers int, @mymean int, @mysd int'
, @mynumbers = @param1
, @mymean = @param2
, @mysd = @param3
WITH RESULT SETS(([Density] FLOAT NOT NULL));
Baris pertama mendefinisikan masing-masing parameter input SQL yang diperlukan saat prosedur tersimpan dijalankan.
Baris yang dimulai dengan
@params
mendefinisikan semua variabel yang digunakan oleh kode R, dan jenis data SQL yang sesuai.Baris yang segera mengikuti petakan nama parameter SQL ke nama variabel R yang sesuai.
Sekarang setelah Anda membungkus fungsi R dalam prosedur tersimpan, Anda dapat dengan mudah memanggil fungsi dan meneruskan nilai yang berbeda, seperti ini:
EXECUTE MyRNorm @param1 = 100,@param2 = 50, @param3 = 3
Menggunakan fungsi utilitas R untuk pemecahan masalah
Paket utils , dipasang secara default, menyediakan berbagai fungsi utilitas untuk menyelidiki lingkungan R saat ini. Fungsi-fungsi ini dapat berguna jika Anda menemukan perbedaan dalam cara kode R Anda bekerja di SQL Server dan di lingkungan luar.
Misalnya, Anda dapat menggunakan fungsi pengaturan waktu sistem di R, seperti system.time
dan proc.time
, untuk menangkap waktu yang digunakan oleh proses R dan menganalisis masalah performa. Misalnya, lihat tutorial Membuat Fitur Data di mana fungsi pengaturan waktu R disematkan dalam solusi.
EXECUTE sp_execute_external_script
@language = N'R'
, @script = N'
library(utils);
start.time <- proc.time();
# Run R processes
elapsed_time <- proc.time() - start.time;'
Untuk fungsi lain yang berguna, lihat Menggunakan fungsi pembuatan profil kode R untuk meningkatkan performa.
Langkah berikutnya
Untuk membuat model pembelajaran mesin menggunakan R dengan pembelajaran mesin SQL, ikuti mulai cepat ini:
Saran dan Komentar
https://aka.ms/ContentUserFeedback.
Segera hadir: Sepanjang tahun 2024 kami akan menghentikan penggunaan GitHub Issues sebagai mekanisme umpan balik untuk konten dan menggantinya dengan sistem umpan balik baru. Untuk mengetahui informasi selengkapnya, lihat:Kirim dan lihat umpan balik untuk