Bagikan melalui


Membangun model dengan SynapseML

Artikel ini menjelaskan cara membuat model pembelajaran mesin dengan menggunakan SynapseML, dan menunjukkan bagaimana SynapseML dapat menyederhanakan tugas pembelajaran mesin yang kompleks. Anda menggunakan SynapseML untuk membuat alur pelatihan pembelajaran mesin kecil yang mencakup tahap fiturisasi dan tahap regresi LightGBM. Alur memprediksi peringkat berdasarkan teks ulasan dari himpunan data ulasan buku. Anda juga melihat bagaimana SynapseML dapat menyederhanakan penggunaan model bawaan untuk menyelesaikan masalah pembelajaran mesin.

Prasyarat

Menyiapkan sumber daya

Buat alat dan sumber daya yang Anda butuhkan untuk membangun model dan alur.

  1. Buat buku catatan baru.
  2. Lampirkan buku catatan Anda ke lakehouse. Untuk menambahkan lakehouse yang sudah ada atau membuat yang baru, perluas Lakehouses di bawah Explorer di sebelah kiri, lalu pilih Tambahkan.
  3. Dapatkan kunci layanan Azure AI dengan mengikuti instruksi di Mulai Cepat: Membuat sumber daya multi-layanan untuk layanan Azure AI.
  4. Buat instans Azure Key Vault dan tambahkan kunci layanan Azure AI Anda ke brankas kunci sebagai rahasia.
  5. Catat nama brankas kunci dan nama rahasia Anda. Anda memerlukan informasi ini untuk menjalankan transformasi satu langkah nanti di artikel ini.

Menyiapkan lingkungan

Di buku catatan Anda, impor pustaka SynapseML dan inisialisasi sesi Spark Anda.

from pyspark.sql import SparkSession
from synapse.ml.core.platform import *

spark = SparkSession.builder.getOrCreate()

Memuat himpunan data

Muat himpunan data Anda dan bagi menjadi kumpulan pelatihan dan pengujian.

train, test = (
    spark.read.parquet(
        "wasbs://publicwasb@mmlspark.blob.core.windows.net/BookReviewsFromAmazon10K.parquet"
    )
    .limit(1000)
    .cache()
    .randomSplit([0.8, 0.2])
)

display(train)

Membuat alur pelatihan

Buat alur yang menampilkan data menggunakan TextFeaturizer dari synapse.ml.featurize.text pustaka dan mendapatkan peringkat menggunakan fungsi .LightGBMRegressor

from pyspark.ml import Pipeline
from synapse.ml.featurize.text import TextFeaturizer
from synapse.ml.lightgbm import LightGBMRegressor

model = Pipeline(
    stages=[
        TextFeaturizer(inputCol="text", outputCol="features"),
        LightGBMRegressor(featuresCol="features", labelCol="rating", dataTransferMode="bulk")
    ]
).fit(train)

Memprediksi output data pengujian

transform Panggil fungsi pada model untuk memprediksi dan menampilkan output data pengujian sebagai dataframe.

display(model.transform(test))

Menggunakan layanan Azure AI untuk mengubah data dalam satu langkah

Atau, untuk jenis tugas yang memiliki solusi bawaan ini, Anda dapat menggunakan integrasi SynapseML dengan layanan Azure AI untuk mengubah data Anda dalam satu langkah. Jalankan kode berikut dengan penggantian ini:

  • Ganti <secret-name> dengan nama rahasia kunci Azure AI Services Anda.
  • Ganti <key-vault-name> dengan nama brankas kunci Anda.
from synapse.ml.services import TextSentiment
from synapse.ml.core.platform import find_secret

model = TextSentiment(
    textCol="text",
    outputCol="sentiment",
    subscriptionKey=find_secret("<secret-name>", "<key-vault-name>")
).setLocation("eastus")

display(model.transform(test))