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.
Príprava prostriedkov
Vytvorte nástroje a zdroje, ktoré potrebujete na vytvorenie modelu a kanála.
- Vytvorte nový poznámkový blok.
- 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ť.
- 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.
- Vytvorte inštanciu služby Azure Key Vault a pridajte kľúč služby Azure AI do trezora kľúčov ako tajný kód.
- 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))