Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
BERLAKU UNTUK:
Pembelajaran Mesin Studio (klasik)
Azure Pembelajaran Mesin
Penting
Dukungan untuk Studio Azure Machine Learning (klasik) akan berakhir pada 31 Agustus 2024. Sebaiknya Anda transisi ke Azure Machine Learning sebelum tanggal tersebut.
Mulai 1 Desember 2021, Anda tidak akan dapat membuat sumber daya Studio Azure Machine Learning (klasik) baru. Hingga 31 Agustus 2024, Anda dapat terus menggunakan sumber daya Pembelajaran Mesin Studio (klasik) yang ada.
- Lihat informasi tentang memindahkan proyek pembelajaran mesin dari ML Studio (klasik) ke Azure Machine Learning.
- Pelajari lebih lanjut tentang Azure Machine Learning
Dokumentasi ML Studio (klasik) akan dihentikan dan mungkin tidak akan diperbarui di masa mendatang.
Python adalah alat berharga bagi banyak ilmuwan data. Python digunakan dalam setiap tahap alur kerja pembelajaran mesin yang khas termasuk eksplorasi data, ekstraksi fitur, pelatihan model dan validasi, dan penyebaran.
Artikel ini menjelaskan cara menggunakan modul Jalankan Skrip Python untuk menggunakan kode Python di eksperimen Machine Learning Studio (klasik) dan layanan web Anda.
Menggunakan Modul Jalankan Skrip Python
Antarmuka utama Python di Studio (klasik) adalah melalui modul Jalankan Skrip Python. Ini menerima hingga tiga input dan menghasilkan hingga dua output, mirip dengan modul Jalankan Skrip R. Kode Python dimasukkan ke dalam kotak parameter melalui fungsi titik entri khusus yang dinamai azureml_main.
Parameter masukan
Input ke modul Python diekspos sebagai Pandas DataFrames. Fungsi azureml_main menerima hingga dua Pandas DataFrames opsional sebagai parameter.
Pemetaan antara port input dan parameter fungsi berdasarkan posisi:
- Port input pertama yang terhubung dipetakan ke parameter pertama fungsi.
- Input kedua (jika terhubung) dipetakan ke parameter kedua fungsi.
- Input ketiga digunakan untuk mengimpor modul Python tambahan.
Semantik yang lebih rinci tentang bagaimana port input dipetakan ke parameter fungsi azureml_main ditunjukkan di bawah ini.
Nilai pengembalian output
Fungsi azureml_main harus mengembalikan satu Pandas DataFrame yang dikemas dalam urutan Python seperti tuple, daftar, atau array NumPy. Elemen pertama dari urutan ini dikembalikan ke port output pertama modul. Port output kedua modul digunakan untuk visualisasi dan tidak memerlukan nilai balik. Skema ini ditunjukkan di bawah ini.
Terjemahan jenis data input dan output
Himpunan data studio tidak sama dengan Panda DataFrames. Akibatnya, set data input di Studio (klasik) dikonversi ke Pandas DataFrame, dan DataFrames output dikonversi kembali ke himpunan data Studio (klasik). Selama proses konversi ini, terjemahan berikut juga dilakukan:
| Jenis data Python | Prosedur penerjemahan studio |
|---|---|
| Untai (karakter) dan numerik | Diterjemahkan apa adanya |
| Pandas 'NA' | Diterjemahkan sebagai 'Nilai yang hilang' |
| Vektor indeks | Tidak didukung* |
| Nama kolom bukan string | Memanggil str pada nama-nama kolom |
| Buat duplikat nama kolom | Tambahkan akhiran numerik: (1), (2), (3), dan sebagainya. |
* Semua bingkai data input dalam fungsi Python selalu memiliki indeks numerik 64-bit dari 0 hingga jumlah baris minus 1
Mengimpor modul skrip Python yang ada
Backend yang digunakan untuk mengeksekusi Python didasarkan pada Anaconda, distribusi Python ilmiah yang banyak digunakan. Muncul dengan hampir 200 paket Python paling umum yang digunakan dalam beban kerja yang berpusat pada data. Studio (klasik) saat ini tidak mendukung penggunaan sistem manajemen paket seperti Pip atau Conda untuk memasang dan mengelola pustaka eksternal. Jika Anda perlu menggabungkan pustaka tambahan, gunakan skenario berikut sebagai panduan.
Kasus penggunaan umum adalah menggabungkan skrip Python yang ada ke dalam eksperimen Studio (klasik). Modul Jalankan Skrip Python menerima file zip yang berisi modul Python di port input ketiga. File diekstrak dari arsip ZIP oleh kerangka kerja eksekusi pada runtime dan isi ditambahkan ke jalur perpustakaan penerjemah Python. Fungsi titik entri azureml_main kemudian dapat mengimpor modul-modul ini secara langsung.
Sebagai contoh, pertimbangkan file Hello.py yang mengandung fungsi "Hello, World" sederhana.
Selanjutnya, kami membuat file Hello.zip yang berisi Hello.py:
Unggah file zip sebagai himpunan data ke Studio (klasik). Kemudian buat dan jalankan eksperimen yang menggunakan kode Python dalam file Hello.zip dengan melampirkannya ke port input ketiga dari modul Jalankan Skrip Python seperti yang ditunjukkan pada gambar berikut.
Output modul menunjukkan bahwa file zip telah dibongkar dan bahwa fungsi print_hello telah dijalankan.
Mengakses Azure Storage Blobs
Anda dapat mengakses data yang disimpan di akun Azure Blob Storage menggunakan langkah-langkah berikut:
- Unduh Paket Azure Blob Storage untuk Python secara lokal.
- Unggah file zip ke ruang kerja Studio (klasik) sebagai himpunan data.
- Membuat objek BlobService Anda dengan
protocol='http'
from azure.storage.blob import BlockBlobService
# Create the BlockBlockService that is used to call the Blob service for the storage account
block_blob_service = BlockBlobService(account_name='account_name', account_key='account_key', protocol='http')
- Nonaktifkan Transfer aman yang diperlukan di tab pengaturan Konfigurasi Penyimpanan Anda
Mengoperasionalkan skrip Python
Setiap modul Jalankan Skrip Python yang digunakan dalam eksperimen penilaian disebut ketika dipublikasikan sebagai layanan web. Misalnya, gambar di bawah ini menunjukkan eksperimen penilaian yang berisi kode untuk mengevaluasi satu ekspresi Python.
Layanan web yang dibuat dari eksperimen ini akan mengambil tindakan berikut:
- Menerima ekspresi Python sebagai input (sebagai string)
- Mengirim ekspresi Python ke penerjemah Python
- Mengembalikan tabel yang berisi ekspresi dan hasil yang dievaluasi.
Bekerja dengan visualisasi
Plot yang dibuat menggunakan MatplotLib dapat dikembalikan dengan Jalankan Skrip Python. Namun, plot tidak secara otomatis dialihkan ke gambar seperti saat menggunakan R. Jadi pengguna harus secara eksplisit menyimpan setiap plot ke file PNG.
Untuk menghasilkan gambar dari MatplotLib, Anda harus mengambil langkah-langkah berikut:
- Alihkan backend ke "AGG" dari perender berbasis Qt default.
- Membuat objek gambar baru.
- Dapatkan sumbu dan buat semua plot di atasnya.
- Simpan gambar ke file PNG.
Proses ini diilustrasikan dalam gambar berikut yang membuat matriks plot sebar menggunakan fungsi scatter_matrix di Pandas.
Bisa mengembalikan beberapa gambar dengan menyimpannya ke dalam gambar yang berbeda. Runtime Studio (klasik) mengambil semua gambar dan menggabungkannya untuk visualisasi.
Contoh tingkat lanjut
Lingkungan Anaconda yang dipasang di Studio (klasik) berisi paket umum seperti NumPy, SciPy, dan Scikits-Learn. Paket-paket ini dapat digunakan secara efektif untuk pemrosesan data dalam alur pembelajaran mesin.
Misalnya, eksperimen dan skrip berikut ini menggambarkan penggunaan pelajar ensembel di Scikits-Learn untuk menghitung skor penting fitur untuk himpunan data. Skor dapat digunakan untuk melakukan pilihan fitur yang diawasi sebelum diumpankan ke model lain.
Inilah fungsi Python yang digunakan untuk menghitung skor kepentingan dan mengurutkan fitur berdasarkan skor.
Eksperimen berikut kemudian menghitung dan mengembalikan skor penting fitur dalam himpunan data "Pima Indian Diabetes" di Machine Learning Studio (klasik):
Batasan
Modul Jalankan Skrip Python saat ini memiliki batasan berikut:
Eksekusi kotak pasir
Runtime Python saat ini terisolasi dan tidak mengizinkan akses ke jaringan atau sistem file lokal dalam cara yang berkelanjutan. Semua file yang disimpan secara lokal diisolasi dan dihapus setelah modul selesai. Kode Python tidak dapat mengakses sebagian besar direktori pada mesin yang dijalankannya, pengecualian adalah direktori saat ini dan subdirektorinya.
Kurangnya dukungan untuk pengembangan dan debugging yang canggih
Modul Python saat ini tidak mendukung fitur IDE seperti Intellisense dan debugging. Selain itu, jika modul gagal saat runtime, pelacakan tumpukan Python lengkap tersedia. Namun, hal tersebut harus diperiksa dalam log output untuk modul. Kami saat ini menyarankan Anda mengembangkan dan melakukan debug skrip Python di lingkungan seperti IPython dan kemudian mengimpor kode ke dalam modul.
Hasil data frame tunggal
Titik masuk Python hanya diizinkan untuk mengembalikan satu bingkai data sebagai output. Saat ini tidak mungkin untuk mengembalikan objek Python sembarang seperti model terlatih langsung kembali ke runtime Studio (klasik). Seperti Jalankan Skrip R, yang memiliki batasan yang sama, dimungkinkan dalam banyak kasus untuk menyimpan objek ke dalam array byte dan kemudian mengembalikannya sebagai bagian dari bingkai data.
Ketidakmampuan untuk menyesuaikan penginstalan Python
Saat ini, satu-satunya cara untuk menambahkan modul Python kustom adalah melalui mekanisme file zip yang dijelaskan sebelumnya. Meskipun ini layak untuk modul kecil, ini rumit untuk modul besar (terutama modul dengan DLL asli) atau sejumlah besar modul.
Langkah berikutnya
Untuk informasi selengkapnya, lihat Pusat Pengembang Python.