Zdieľať cez


Vytvorenie modelu so synapseML

Tento článok popisuje, ako vytvoriť model strojového učenia pomocou synapseML, a ukazuje, ako môže synapseML zjednodušiť zložité úlohy strojového učenia. SynapseML používate na vytvorenie malého kanála školení strojového učenia, ktorý obsahuje fázu uvádzania a regresnú fázu LightGBM. Kanál predpovedá hodnotenia na základe textu recenzie z množiny údajov recenzií knihy. Vidíte tiež, ako môže SynapseML zjednodušiť používanie vopred vytvorených modelov na riešenie problémov so strojového učením.

Požiadavky

  • Získajte predplatné na Microsoft Fabric. Alebo si zaregistrujte bezplatnú skúšobnú verziu služby Microsoft Fabric.

  • Prihláste sa do služby Microsoft Fabric.

  • Pomocou prepínača skúseností v ľavej dolnej časti domovskej stránky sa prepnete na službu Fabric.

    Snímka obrazovky ponuky prepínača prostredí zobrazujúca, kde vybrať možnosť Dátová veda.

Príprava prostriedkov

Vytvorte nástroje a zdroje, ktoré potrebujete na vytvorenie modelu a kanála.

  1. Vytvorte nový poznámkový blok.
  2. Pripojte svoj notebook k jazeru. Ak chcete pridať existujúci objekt lakehouse alebo vytvoriť nový, rozbaľte položku Lakehouses v časti Explorer na ľavej strane a potom vyberte položku Pridať.
  3. Získajte kľúč služieb Azure AI podľa pokynov v téme Rýchla konfigurácia: Vytvorenie prostriedku s viacerými službami pre služby Azure AI.
  4. Vytvorte inštanciu služby Azure Key Vault a pridajte kľúč služby Azure AI do trezora kľúčov ako tajný kód.
  5. Poznačte si názov svojho trezora kľúčov a názov tajného kódu. Tieto informácie potrebujete, aby ste mohli spustiť transformáciu v jednom kroku ďalej v tomto článku.

Nastavenie prostredia

V notebooku importujte knižnice SynapseML a inicializujte reláciu služby Spark.

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

spark = SparkSession.builder.getOrCreate()

Načítanie množiny údajov

Načítajte množinu údajov a rozdeľte ju na trénované a testovacie množiny.

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

display(train)

Vytvorenie kanála trénovania

Vytvorte kanál s využitím údajov z TextFeaturizer knižnice synapse.ml.featurize.text a odvodí hodnotenie pomocou LightGBMRegressor funkcie .

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)

Predpovedanie výstupu testovacích údajov

transform Volaním funkcie v modeli môžete predpovedať a zobraziť výstup testovacích údajov ako údajového rámca.

display(model.transform(test))

Použitie služieb Azure AI na transformáciu údajov v jednom kroku

Na tieto typy úloh, ktoré majú vopred vytvorené riešenie, môžete v jednom kroku použiť integráciu synapseML so službami Azure AI. Spustite nasledujúci kód s týmito náhradami:

  • Nahraďte <secret-name> názvom kľúča služby Azure AI Services ako tajný kľúč.
  • Nahraďte <key-vault-name> ho názvom svojho trezora kľúčov.
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))