Bagikan melalui


Tutorial: Mengunggah, mengakses, dan menjelajahi data Anda di Azure Pembelajaran Mesin

BERLAKU UNTUK: Python SDK azure-ai-ml v2 (saat ini)

Dalam tutorial ini, Anda akan mempelajari cara:

  • Mengunggah data Anda ke penyimpanan cloud
  • Membuat aset data Azure Pembelajaran Mesin
  • Mengakses data Anda dalam buku catatan untuk pengembangan interaktif
  • Membuat versi baru aset data

Proyek pembelajaran mesin biasanya dimulai dengan analisis data eksploratif (EDA), praproses data (pembersihan, rekayasa fitur), dan membangun prototipe model Pembelajaran Mesin untuk memvalidasi hipotesis. Fase proyek prototipe ini sangat interaktif. Ini meminjamkan dirinya untuk pengembangan dalam IDE atau notebook Jupyter, dengan konsol interaktif Python. Tutorial ini menjelaskan ide-ide ini.

Video ini menunjukkan cara memulai di studio Azure Pembelajaran Mesin, sehingga Anda dapat mengikuti langkah-langkah dalam tutorial. Video menunjukkan cara membuat notebook, mengkloning notebook, membuat instans komputasi, dan mengunduh data yang diperlukan untuk tutorial. Langkah-langkahnya juga dijelaskan di bagian berikut.

Prasyarat

  1. Untuk menggunakan Azure Pembelajaran Mesin, Anda memerlukan ruang kerja. Jika Anda tidak memilikinya, selesaikan Buat sumber daya yang Anda perlukan untuk mulai membuat ruang kerja dan pelajari selengkapnya tentang menggunakannya.

    Penting

    Jika ruang kerja Azure Pembelajaran Mesin Anda dikonfigurasi dengan jaringan virtual terkelola, Anda mungkin perlu menambahkan aturan keluar untuk mengizinkan akses ke repositori paket Python publik. Untuk informasi selengkapnya, lihat Skenario: Mengakses paket pembelajaran mesin publik.

  2. Masuk ke studio dan pilih ruang kerja Anda jika belum dibuka.

  3. Buka atau buat buku catatan di ruang kerja Anda:

    • Jika Anda ingin menyalin dan menempelkan kode ke dalam sel, buat buku catatan baru.
    • Atau, buka tutorial/get-started-notebooks/explore-data.ipynb dari bagian Sampel studio. Lalu pilih Kloning untuk menambahkan buku catatan ke File Anda. Untuk menemukan contoh buku catatan, lihat Pelajari dari contoh buku catatan.

Atur kernel Anda dan buka di Visual Studio Code (Visual Studio Code)

  1. Di bilah atas di atas notebook yang Anda buka, buat instans komputasi jika Anda belum memilikinya.

    Cuplikan layar memperlihatkan cara membuat instans komputasi.

  2. Jika instans komputasi dihentikan, pilih Mulai komputasi dan tunggu hingga instans berjalan.

    Cuplikan layar memperlihatkan cara memulai instans komputasi yang dihentikan.

  3. Tunggu hingga instans komputasi berjalan. Kemudian pastikan bahwa kernel, yang ditemukan di kanan atas, adalah Python 3.10 - SDK v2. Jika tidak, gunakan daftar dropdown untuk memilih kernel ini.

    Cuplikan layar memperlihatkan cara mengatur kernel.

    Jika Anda tidak melihat kernel ini, verifikasi bahwa instans komputasi Anda sedang berjalan. Jika ya, pilih tombol Refresh di kanan atas buku catatan.

  4. Jika Anda melihat banner yang mengatakan Bahwa Anda perlu diautentikasi, pilih Autentikasi.

  5. Anda dapat menjalankan buku catatan di sini, atau membukanya di VISUAL Code untuk lingkungan pengembangan terintegrasi penuh (IDE) dengan kekuatan sumber daya Azure Pembelajaran Mesin. Pilih Buka di Visual Studio Code, lalu pilih opsi web atau desktop. Saat diluncurkan dengan cara ini, VISUAL Code dilampirkan ke instans komputasi Anda, kernel, dan sistem file ruang kerja.

    Cuplikan layar memperlihatkan cara membuka buku catatan di Visual Studio Code.

Penting

Sisa tutorial ini berisi sel-sel buku catatan tutorial. Salin dan tempelkan ke buku catatan baru Anda, atau beralihlah ke buku catatan sekarang jika Anda mengkloningnya.

Unduh data yang digunakan dalam tutorial ini

Untuk penyerapan data, Azure Data Explorer menangani data mentah dalam format ini. Tutorial ini menggunakan sampel data klien kartu kredit berformat CSV ini. Langkah-langkahnya dilanjutkan di sumber daya Azure Pembelajaran Mesin. Dalam sumber daya tersebut, kita akan membuat folder lokal, dengan nama data yang disarankan, langsung di bawah folder tempat buku catatan ini berada.

Catatan

Tutorial ini bergantung pada data yang ditempatkan di lokasi folder sumber daya Azure Pembelajaran Mesin. Untuk tutorial ini, 'lokal' berarti lokasi folder di sumber daya Azure Pembelajaran Mesin tersebut.

  1. Pilih Buka terminal di bawah tiga titik, seperti yang ditunjukkan pada gambar ini:

    Cuplikan layar memperlihatkan alat terminal terbuka di toolbar buku catatan.

  2. Jendela terminal terbuka di tab baru.

  3. Pastikan Anda cd (Ubah Direktori) ke folder yang sama tempat buku catatan ini berada. Misalnya, jika buku catatan berada di folder bernama get-started-notebooks:

    cd get-started-notebooks    #  modify this to the path where your notebook is located
    
  4. Masukkan perintah ini di jendela terminal untuk menyalin data ke instans komputasi Anda:

    mkdir data
    cd data                     # the sub-folder where you'll store the data
    wget https://azuremlexamples.blob.core.windows.net/datasets/credit_card/default_of_credit_card_clients.csv
    
  5. Anda sekarang dapat menutup jendela terminal.

Untuk informasi selengkapnya tentang data di Repositori Pembelajaran Mesin UC Irvine, kunjungi sumber daya ini.

Membuat handel ke ruang kerja

Sebelum kami menjelajahi kode, Anda memerlukan cara untuk mereferensikan ruang kerja Anda. Anda akan membuat ml_client handel ke ruang kerja. Anda kemudian menggunakan ml_client untuk mengelola sumber daya dan pekerjaan.

Di sel berikutnya, masukkan ID Langganan, nama Grup Sumber Daya, dan nama Ruang Kerja Anda. Untuk menemukan nilai-nilai ini:

  1. Di toolbar studio Azure Pembelajaran Mesin kanan atas, pilih nama ruang kerja Anda.
  2. Salin nilai untuk ruang kerja, grup sumber daya, dan ID langganan ke dalam kode.
  3. Anda harus menyalin nilai satu per satu satu, menutup area dan menempel, lalu melanjutkan ke nilai berikutnya.
from azure.ai.ml import MLClient
from azure.identity import DefaultAzureCredential
from azure.ai.ml.entities import Data
from azure.ai.ml.constants import AssetTypes

# authenticate
credential = DefaultAzureCredential()

# Get a handle to the workspace
ml_client = MLClient(
    credential=credential,
    subscription_id="<SUBSCRIPTION_ID>",
    resource_group_name="<RESOURCE_GROUP>",
    workspace_name="<AML_WORKSPACE_NAME>",
)

Catatan

Pembuatan MLClient tidak akan tersambung ke ruang kerja. Inisialisasi klien malas. Ini menunggu untuk pertama kalinya perlu melakukan panggilan. Ini terjadi di sel kode berikutnya.

Mengunggah data ke penyimpanan cloud

Azure Pembelajaran Mesin menggunakan Pengidentifikasi Sumber Daya Seragam (URI), yang mengarah ke lokasi penyimpanan di cloud. URI memudahkan untuk mengakses data di buku catatan dan pekerjaan. Format URI data memiliki format yang mirip dengan URL web yang Anda gunakan di browser web Anda untuk mengakses halaman web. Contohnya:

  • Mengakses data dari server https publik: https://<account_name>.blob.core.windows.net/<container_name>/<folder>/<file>
  • Mengakses data dari Azure Data Lake Gen 2: abfss://<file_system>@<account_name>.dfs.core.windows.net/<folder>/<file>

Aset data Azure Pembelajaran Mesin mirip dengan bookmark browser web (favorit). Alih-alih mengingat jalur penyimpanan panjang (URI) yang menunjuk ke data yang paling sering digunakan, Anda dapat membuat aset data, lalu mengakses aset tersebut dengan nama yang mudah diingat.

Pembuatan aset data juga membuat referensi ke lokasi sumber data, bersama dengan salinan metadatanya. Karena data tetap berada di lokasi yang ada, Anda tidak dikenakan biaya penyimpanan tambahan, dan Anda tidak berisiko integritas sumber data. Anda dapat membuat aset Data dari datastore Azure Pembelajaran Mesin, Azure Storage, URL publik, dan file lokal.

Petunjuk / Saran

Untuk unggahan data berukuran lebih kecil, pembuatan aset data Azure Pembelajaran Mesin berfungsi dengan baik untuk pengunggahan data dari sumber daya komputer lokal ke penyimpanan cloud. Pendekatan ini menghindari kebutuhan akan alat atau utilitas tambahan. Namun, unggahan data berukuran lebih besar mungkin memerlukan alat atau utilitas khusus - misalnya, azcopy. Alat baris perintah azcopy memindahkan data ke dan dari Azure Storage. Untuk informasi selengkapnya tentang azcopy, kunjungi sumber daya ini.

Sel buku catatan berikutnya membuat aset data. Sampel kode mengunggah file data mentah ke sumber daya penyimpanan cloud yang ditunjuk.

Setiap kali Anda membuat aset data, Anda memerlukan versi unik untuk itu. Jika versi sudah ada, Anda akan mendapatkan kesalahan. Dalam kode ini, kita menggunakan "inisial" untuk membaca data pertama. Jika versi tersebut sudah ada, kami tidak membuatnya kembali.

Anda juga dapat menghilangkan parameter versi . Dalam hal ini, nomor versi dibuat untuk Anda, dimulai dengan 1 dan kemudian bertahas dari sana.

Tutorial ini menggunakan nama "inisial" sebagai versi pertama. Tutorial Membuat alur pembelajaran mesin produksi juga menggunakan versi data ini, jadi di sini kita menggunakan nilai yang akan Anda lihat lagi dalam tutorial tersebut.

from azure.ai.ml.entities import Data
from azure.ai.ml.constants import AssetTypes

# update the 'my_path' variable to match the location of where you downloaded the data on your
# local filesystem

my_path = "./data/default_of_credit_card_clients.csv"
# set the version number of the data asset
v1 = "initial"

my_data = Data(
    name="credit-card",
    version=v1,
    description="Credit card data",
    path=my_path,
    type=AssetTypes.URI_FILE,
)

## create data asset if it doesn't already exist:
try:
    data_asset = ml_client.data.get(name="credit-card", version=v1)
    print(
        f"Data asset already exists. Name: {my_data.name}, version: {my_data.version}"
    )
except:
    ml_client.data.create_or_update(my_data)
    print(f"Data asset created. Name: {my_data.name}, version: {my_data.version}")

Untuk memeriksa data yang diunggah, pilih Data di sebelah kiri. Data diunggah dan aset data dibuat:

Cuplikan layar memperlihatkan data di studio.

Data ini diberi nama kartu kredit, dan di tab Aset data, kita dapat melihatnya di kolom Nama .

Datastore Azure Pembelajaran Mesin adalah referensi ke akun penyimpanan yang sudah ada di Azure. Datastore menawarkan manfaat berikut:

  1. API umum dan mudah digunakan, untuk berinteraksi dengan berbagai jenis penyimpanan

    • Azure Data Lake Storage
    • Gumpalan
    • File

    dan metode autentikasi.

  2. Cara yang lebih mudah untuk menemukan penyimpanan data yang berguna, saat bekerja sebagai tim.

  3. Dalam skrip Anda, cara untuk menyembunyikan informasi koneksi untuk akses data berbasis kredensial (perwakilan layanan/SAS/kunci).

Mengakses data Anda di buku catatan

Panda secara langsung mendukung URI - contoh ini menunjukkan cara membaca file CSV dari Azure Pembelajaran Mesin Datastore:

import pandas as pd

df = pd.read_csv("azureml://subscriptions/<subid>/resourcegroups/<rgname>/workspaces/<workspace_name>/datastores/<datastore_name>/paths/<folder>/<filename>.csv")

Namun, seperti yang disebutkan sebelumnya, bisa menjadi sulit untuk mengingat URI ini. Selain itu, Anda harus mengganti semua > secara manual dalam perintah pd.read_csv dengan nilai nyata untuk sumber daya Anda.

Anda mungkin ingin membuat aset data untuk data yang sering diakses. Berikut adalah cara yang lebih mudah untuk mengakses file CSV di Pandas:

Penting

Di sel buku catatan, jalankan kode ini untuk menginstal azureml-fsspec pustaka Python di kernel Jupyter Anda:

%pip install -U azureml-fsspec
import pandas as pd

# get a handle of the data asset and print the URI
data_asset = ml_client.data.get(name="credit-card", version=v1)
print(f"Data asset URI: {data_asset.path}")

# read into pandas - note that you will see 2 headers in your data frame - that is ok, for now

df = pd.read_csv(data_asset.path)
df.head()

Untuk informasi selengkapnya tentang akses data di buku catatan, kunjungi Mengakses data dari penyimpanan cloud Azure selama pengembangan interaktif.

Membuat versi baru aset data

Data membutuhkan beberapa pembersihan ringan, untuk membuatnya pas untuk melatih model pembelajaran mesin. Ini memiliki:

  • dua header
  • kolom ID klien; kami tidak akan menggunakan fitur ini di Pembelajaran Mesin
  • spasi dalam nama variabel respons

Selain itu, dibandingkan dengan format CSV, format file Parquet menjadi cara yang lebih baik untuk menyimpan data ini. Parquet menawarkan kompresi, dan mempertahankan skema. Untuk membersihkan data dan menyimpannya di Parquet, gunakan:

# read in data again, this time using the 2nd row as the header
df = pd.read_csv(data_asset.path, header=1)
# rename column
df.rename(columns={"default payment next month": "default"}, inplace=True)
# remove ID column
df.drop("ID", axis=1, inplace=True)

# write file to filesystem
df.to_parquet("./data/cleaned-credit-card.parquet")

Tabel ini memperlihatkan struktur data dalam file default_of_credit_card_clients.csv asli . File CSV diunduh pada langkah sebelumnya. Data yang diunggah berisi 23 variabel penjelasan dan 1 variabel respons, seperti yang ditunjukkan di sini:

Nama Kolom Tipe Variabel Deskripsi
X1 Jelas Jumlah kredit yang diberikan (dolar NT): termasuk kredit konsumen individu dan kredit keluarga mereka (tambahan).
X2 Jelas Jenis kelamin (1 = laki-laki; 2 = perempuan).
X3 Jelas Pendidikan (1 = sekolah pascasarjana; 2 = universitas; 3 = SMA; 4 = lainnya).
X4 Jelas Status perkawinan (1 = menikah; 2 = tunggal; 3 = lainnya).
X5 Jelas Usia (tahun).
X6-X11 Jelas Riwayat pembayaran sebelumnya. Kami melacak catatan pembayaran bulanan terakhir (dari April hingga September 2005). -1 = bayar duly; 1 = penundaan pembayaran selama satu bulan; 2 = penundaan pembayaran selama dua bulan; . . .; 8 = penundaan pembayaran selama delapan bulan; 9 = penundaan pembayaran selama sembilan bulan ke atas.
X12-17 Jelas Jumlah laporan tagihan (dolar NT) dari April hingga September 2005.
X18-23 Jelas Jumlah pembayaran sebelumnya (dolar NT) dari April hingga September 2005.
Ya Respons Pembayaran default (Ya = 1, Tidak = 0)

Selanjutnya, buat versi baru aset data (data secara otomatis diunggah ke penyimpanan cloud). Untuk versi ini, tambahkan nilai waktu, sehingga setiap kali kode ini berjalan, nomor versi yang berbeda dibuat.

from azure.ai.ml.entities import Data
from azure.ai.ml.constants import AssetTypes
import time

# Next, create a new *version* of the data asset (the data is automatically uploaded to cloud storage):
v2 = "cleaned" + time.strftime("%Y.%m.%d.%H%M%S", time.gmtime())
my_path = "./data/cleaned-credit-card.parquet"

# Define the data asset, and use tags to make it clear the asset can be used in training

my_data = Data(
    name="credit-card",
    version=v2,
    description="Default of credit card clients data.",
    tags={"training_data": "true", "format": "parquet"},
    path=my_path,
    type=AssetTypes.URI_FILE,
)

## create the data asset

my_data = ml_client.data.create_or_update(my_data)

print(f"Data asset created. Name: {my_data.name}, version: {my_data.version}")

File parkek yang dibersihkan adalah sumber data versi terbaru. Kode ini menunjukkan kumpulan hasil versi CSV terlebih dahulu, lalu versi Parquet:

import pandas as pd

# get a handle of the data asset and print the URI
data_asset_v1 = ml_client.data.get(name="credit-card", version=v1)
data_asset_v2 = ml_client.data.get(name="credit-card", version=v2)

# print the v1 data
print(f"V1 Data asset URI: {data_asset_v1.path}")
v1df = pd.read_csv(data_asset_v1.path)
print(v1df.head(5))

# print the v2 data
print(
    "_____________________________________________________________________________________________________________\n"
)
print(f"V2 Data asset URI: {data_asset_v2.path}")
v2df = pd.read_parquet(data_asset_v2.path)
print(v2df.head(5))

Membersihkan sumber daya

Jika Anda berencana untuk melanjutkan sekarang ke tutorial lain, lewati ke Langkah berikutnya.

Menghentikan instans komputasi

Jika Anda tidak berencana untuk menggunakannya sekarang, hentikan instans komputasi:

  1. Di studio, di panel kiri, pilih Komputasi.
  2. Di tab atas, pilih Instans komputasi
  3. Pilih instans komputasi dalam daftar.
  4. Di toolbar atas, pilih Hentikan.

Menghapus semua sumber daya

Penting

Sumber daya yang Anda buat sebagai prasyarat untuk tutorial dan artikel cara penggunaan Azure Machine Learning lainnya.

Jika Anda tidak berencana menggunakan sumber daya yang sudah Anda buat, hapus sehingga Anda tidak dikenakan biaya apa pun:

  1. Di portal Azure, di kotak pencarian, masukkan Grup sumber daya dan pilih dari hasil.

  2. Dari daftar, pilih grup sumber daya yang Anda buat.

  3. Di halaman Gambaran Umum , pilih Hapus grup sumber daya.

    Cuplikan layar pilihan untuk menghapus grup sumber daya di portal Microsoft Azure.

  4. Masukkan nama grup sumber daya. Kemudian pilih Hapus.

Langkah berikutnya

Untuk informasi selengkapnya tentang aset data, kunjungi Membuat aset data.

Untuk informasi selengkapnya tentang penyimpanan data, kunjungi Membuat penyimpanan data.

Lanjutkan dengan tutorial berikutnya untuk mempelajari cara mengembangkan skrip pelatihan: