Váš první model SynapseML

Tento kurz poskytuje stručný úvod k vytvoření prvního modelu strojového učení pomocí SynapseML a ukazuje, jak SynapseML usnadňuje složité úlohy strojového učení. SynapseML používáme k vytvoření malého trénovacího kanálu ML s fází featurizace a regresní fáze LightGBM k predikci hodnocení na základě textu recenze z datové sady obsahující recenze od Amazonu. Nakonec vám ukážeme, jak SynapseML usnadňuje použití předem připravených modelů k řešení problémů, aniž byste je museli znovu řešit sami.

Požadavky

  • Připojte poznámkový blok k lakehouse. Na levé straně vyberte Přidat a přidejte existující lakehouse nebo vytvořte lakehouse.
  • Klíč služeb Cognitive Services. Pokud chcete získat klíč služeb Cognitive Services, postupujte podle pokynů v rychlém startu.

Nastavení prostředí

Importujte knihovny SynapseML a inicializujte 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í modelu

Vytvořte jednoduchý kanál pro zpracování dat pomocí TextFeaturizer metody z synapse.ml.featurize.text a odvozujte hodnocení z 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"),
    ]
).fit(train)

Předpověď

voláním transform funkce v modelu předpovědět a zobrazit výstupní datový rámec!

display(model.transform(test))

Alternativní trasa – Nechte ji zpracovávat ve službách Cognitive Services.

U úloh, jako je tato, které mají předem připravené řešení, zkuste v jednom kroku transformovat data pomocí integrace SynapseML se službami Cognitive Services.

from synapse.ml.cognitive import TextSentiment
from synapse.ml.core.platform import find_secret

model = TextSentiment(
    textCol="text",
    outputCol="sentiment",
    subscriptionKey=find_secret("cognitive-api-key"), # Replace it with your cognitive service key, check prerequisites for more details
).setLocation("eastus")

display(model.transform(test))

Další kroky