Pengembangan R interaktif
BERLAKU UNTUK:Ekstensi ml Azure CLI v2 (saat ini)Python SDK azure-ai-ml v2 (saat ini)
Artikel ini memperlihatkan cara menggunakan R di studio Azure Pembelajaran Mesin pada instans komputasi yang menjalankan kernel R di buku catatan Jupyter.
RStudio IDE populer juga berfungsi. Anda dapat menginstal RStudio atau Posit Workbench dalam kontainer kustom pada instans komputasi. Namun, ini memiliki batasan dalam membaca dan menulis ke ruang kerja Azure Pembelajaran Mesin Anda.
Penting
Kode yang ditampilkan dalam artikel ini berfungsi pada instans komputasi Azure Pembelajaran Mesin. Instans komputasi memiliki lingkungan dan file konfigurasi yang diperlukan agar kode berhasil dijalankan.
Prasyarat
- Jika Anda tidak memiliki langganan Azure, buat akun gratis sebelum Anda memulai. Coba versi gratis atau berbayar Azure Machine Learning sekarang
- Ruang kerja Azure Pembelajaran Mesin dan instans komputasi
- Pemahaman dasar tentang menggunakan notebook Jupyter di studio Azure Pembelajaran Mesin. Kunjungi Pengembangan model di sumber daya stasiun kerja cloud untuk informasi selengkapnya.
Menjalankan R di buku catatan di studio
Anda akan menggunakan buku catatan di ruang kerja Azure Pembelajaran Mesin, pada instans komputasi.
Masuk ke Studio Azure Machine Learning
Buka ruang kerja Anda jika belum dibuka
Di navigasi kiri, pilih Buku Catatan
Membuat buku catatan baru, bernama RunR.ipynb
Tip
Jika Anda tidak yakin cara membuat dan bekerja dengan buku catatan di studio, tinjau Menjalankan buku catatan Jupyter di ruang kerja Anda
Pilih buku catatan.
Pada toolbar notebook, pastikan instans komputasi Anda berjalan. Jika tidak, mulai sekarang.
Pada toolbar notebook, alihkan kernel ke R.
Notebook Anda sekarang siap untuk menjalankan perintah R.
Mengakses data
Anda dapat mengunggah file ke sumber daya penyimpanan file ruang kerja Anda, lalu mengakses file tersebut di R. Namun, untuk file yang disimpan di aset data Azure atau data dari datastore, Anda harus menginstal beberapa paket.
Bagian ini menjelaskan cara menggunakan Python dan reticulate
paket untuk memuat aset data dan datastore Anda ke R, dari sesi interaktif. Anda menggunakan azureml-fsspec
paket Python dan reticulate
paket R untuk membaca data tabular sebagai Pandas DataFrames. Bagian ini juga mencakup contoh membaca aset data dan datastore ke dalam R data.frame
.
Untuk menginstal paket ini:
Buat file baru pada instans komputasi, yang disebut setup.sh.
Salin kode berikut ke dalam file:
#!/bin/bash set -e # Installs azureml-fsspec in default conda environment # Does not need to run as sudo eval "$(conda shell.bash hook)" conda activate azureml_py310_sdkv2 pip install azureml-fsspec conda deactivate # Checks that version 1.26 of reticulate is installed (needs to be done as sudo) sudo -u azureuser -i <<'EOF' R -e "if (packageVersion('reticulate') >= 1.26) message('Version OK') else install.packages('reticulate')" EOF
Pilih Simpan dan jalankan skrip di terminal untuk menjalankan skrip
Skrip penginstalan menangani langkah-langkah berikut:
pip
menginstal di lingkungan conda default untuk instansazureml-fsspec
komputasi- Menginstal paket R
reticulate
jika perlu (versi harus 1,26 atau lebih tinggi)
Membaca data tabular dari aset data atau datastore terdaftar
Untuk data yang disimpan dalam aset data yang dibuat di Azure Pembelajaran Mesin, gunakan langkah-langkah ini untuk membaca file tabular tersebut ke dalam Pandas DataFrame atau R data.frame
:
Catatan
Membaca file hanya berfungsi dengan reticulate
data tabular.
Pastikan Anda memiliki versi yang benar dari
reticulate
. Untuk versi kurang dari 1.26, coba gunakan instans komputasi yang lebih baru.packageVersion("reticulate")
Muat
reticulate
dan atur lingkungan conda tempatazureml-fsspec
diinstallibrary(reticulate) use_condaenv("azureml_py310_sdkv2") print("Environment is set")
Temukan jalur URI ke file data.
Pertama, dapatkan handel ke ruang kerja Anda
py_code <- "from azure.identity import DefaultAzureCredential from azure.ai.ml import MLClient credential = DefaultAzureCredential() ml_client = MLClient.from_config(credential=credential)" py_run_string(py_code) print("ml_client is configured")
Gunakan kode ini untuk mengambil aset. Pastikan untuk mengganti
<MY_NAME>
dan<MY_VERSION>
dengan nama dan jumlah aset data Anda.Tip
Di studio, pilih Data di navigasi kiri untuk menemukan nama dan nomor versi aset data Anda.
# Replace <MY_NAME> and <MY_VERSION> with your values py_code <- "my_name = '<MY_NAME>' my_version = '<MY_VERSION>' data_asset = ml_client.data.get(name=my_name, version=my_version) data_uri = data_asset.path"
Untuk mengambil URI, jalankan kode.
py_run_string(py_code) print(paste("URI path is", py$data_uri))
Gunakan fungsi baca Pandas untuk membaca file atau file ke lingkungan R.
pd <- import("pandas") cc <- pd$read_csv(py$data_uri) head(cc)
Anda juga dapat menggunakan URI Datastore untuk mengakses file yang berbeda di Datastore terdaftar, dan membaca sumber daya ini ke dalam R data.frame
.
Dalam format ini, buat URI Datastore, menggunakan nilai Anda sendiri:
subscription <- '<subscription_id>' resource_group <- '<resource_group>' workspace <- '<workspace>' datastore_name <- '<datastore>' path_on_datastore <- '<path>' uri <- paste0("azureml://subscriptions/", subscription, "/resourcegroups/", resource_group, "/workspaces/", workspace, "/datastores/", datastore_name, "/paths/", path_on_datastore)
Tip
Alih-alih mengingat format URI datastore, Anda dapat menyalin dan menempelkan URI datastore dari Studio UI, jika Anda mengetahui datastore tempat file Anda berada:
- Navigasi ke file/folder yang ingin Anda baca ke R
- Pilih elipsis (...) di sampingnya.
- Pilih dari menu Salin URI.
- Pilih URI Datastore untuk disalin ke buku catatan/skrip Anda.
Perhatikan bahwa Anda harus membuat variabel untuk
<path>
dalam kode.
Buat objek filestore menggunakan URI yang disebutkan sebelumnya:
fs <- azureml.fsspec$AzureMachineLearningFileSystem(uri, sep = "")
- Baca ke dalam R
data.frame
:
df <- with(fs$open("<path>)", "r") %as% f, {
x <- as.character(f$read(), encoding = "utf-8")
read.csv(textConnection(x), header = TRUE, sep = ",", stringsAsFactors = FALSE)
})
print(df)
Menginstal paket R
Instans komputasi memiliki banyak paket R yang telah diinstal sebelumnya.
Untuk menginstal paket lain, Anda harus secara eksplisit menyatakan lokasi dan dependensi.
Tip
Saat membuat atau menggunakan instans komputasi yang berbeda, Anda harus menginstal ulang paket apa pun yang telah Anda instal.
Misalnya, untuk menginstal tsibble
paket:
install.packages("tsibble",
dependencies = TRUE,
lib = "/home/azureuser")
Catatan
Jika Anda menginstal paket dalam sesi R yang berjalan di notebook Jupyter, dependencies = TRUE
diperlukan. Jika tidak, paket dependen tidak akan diinstal secara otomatis. Lokasi lib juga diperlukan untuk menginstal di lokasi instans komputasi yang benar.
Muat pustaka R
Tambahkan /home/azureuser
ke jalur pustaka R.
.libPaths("/home/azureuser")
Tip
Anda harus memperbarui .libPaths
di setiap skrip R interaktif untuk mengakses pustaka yang diinstal pengguna. Tambahkan kode ini ke bagian atas setiap skrip atau notebook R interaktif.
Setelah libPath diperbarui, muat pustaka seperti biasa.
library('tsibble')
Menggunakan R di buku catatan
Di luar masalah yang dijelaskan sebelumnya, gunakan R seperti yang Anda lakukan di lingkungan lain, termasuk stasiun kerja lokal Anda. Di buku catatan atau skrip, Anda bisa membaca dan menulis ke jalur tempat buku catatan/skrip disimpan.
Catatan
- Dari sesi R interaktif, Anda hanya dapat menulis ke sistem file ruang kerja.
- Dari sesi R interaktif, Anda tidak dapat berinteraksi dengan MLflow (seperti model log atau registri kueri).