Sestavení modelu pomocí SynapseML
Tento článek popisuje, jak vytvořit model strojového učení pomocí SynapseML a ukazuje, jak může SynapseML zjednodušit složité úlohy strojového učení. Pomocí SynapseML vytvoříte malý trénovací kanál strojového učení, který zahrnuje fázi featurizace a regresní fázi LightGBM. Kanál předpovídá hodnocení na základě textu recenze z datové sady recenzí knih. Uvidíte také, jak může SynapseML zjednodušit použití předem připravených modelů k řešení problémů se strojově učením.
Požadavky
Získejte předplatné Microsoft Fabric. Nebo si zaregistrujte bezplatnou zkušební verzi Microsoft Fabricu.
Přihlaste se k Microsoft Fabric.
Pomocí přepínače prostředí na levé straně domovské stránky přepněte na prostředí Synapse Datová Věda.
Příprava prostředků
Vytvořte nástroje a prostředky, které potřebujete k sestavení modelu a kanálu.
- Vytvořte nový poznámkový blok.
- Připojte poznámkový blok k jezeru. Pokud chcete přidat existující jezero nebo vytvořit nový, rozbalte Lakehouses v Průzkumníku vlevo a pak vyberte Přidat.
- Získejte klíč služeb Azure AI podle pokynů v rychlém startu: Vytvoření prostředku s více službami pro služby Azure AI.
- Vytvořte instanci služby Azure Key Vault a přidejte klíč služeb Azure AI do trezoru klíčů jako tajný klíč.
- Poznamenejte si název trezoru klíčů a název tajného kódu. Tyto informace budete potřebovat ke spuštění transformace o krok později v tomto článku.
Nastavení prostředí
V poznámkovém bloku importujte knihovny SynapseML a inicializujete relaci Sparku.
from pyspark.sql import SparkSession
from synapse.ml.core.platform import *
spark = SparkSession.builder.getOrCreate()
Načtení datové sady
Načtěte datovou sadu a rozdělte ji do trénovacích a testovacích sad.
train, test = (
spark.read.parquet(
"wasbs://publicwasb@mmlspark.blob.core.windows.net/BookReviewsFromAmazon10K.parquet"
)
.limit(1000)
.cache()
.randomSplit([0.8, 0.2])
)
display(train)
Vytvoření trénovacího kanálu
Vytvořte kanál, který featurizuje data pomocí TextFeaturizer
synapse.ml.featurize.text
knihovny a odvodí hodnocení pomocí LightGBMRegressor
funkce.
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)
Predikce výstupu testovacích dat
transform
Voláním funkce v modelu můžete předpovědět a zobrazit výstup testovacích dat jako datový rámec.
display(model.transform(test))
Transformace dat pomocí služeb Azure AI v jednom kroku
Pro tyto druhy úloh, které mají předem připravené řešení, můžete použít integraci SynapseML se službami Azure AI k transformaci dat v jednom kroku. Spusťte následující kód s těmito nahrazeními:
- Nahraďte
<secret-name>
názvem tajného klíče služby Azure AI Services. - Nahraďte
<key-vault-name>
názvem trezoru klíčů.
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))