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
Dapatkan langganan Microsoft Fabric. Atau, daftar untuk uji coba Microsoft Fabric gratis.
Masuk ke Microsoft Fabric.
Gunakan pengalih pengalaman di sisi kiri bawah halaman beranda Anda untuk beralih ke Fabric.
Menyiapkan sumber daya
Buat alat dan sumber daya yang Anda butuhkan untuk membangun model dan alur.
- Buat buku catatan baru.
- 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.
- Dapatkan kunci layanan Azure AI dengan mengikuti instruksi di Mulai Cepat: Membuat sumber daya multi-layanan untuk layanan Azure AI.
- Buat instans Azure Key Vault dan tambahkan kunci layanan Azure AI Anda ke brankas kunci sebagai rahasia.
- 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))