Del via


Byg en model med SynapseML

I denne artikel kan du se, hvordan du bygger en model til maskinel indlæring med SynapseML, og hvordan det forenkler komplekse opgaver til maskinel indlæring. Brug SynapseML til at oprette en træningspipeline med en funktionaliseringsfase og en LightGBM-regressionsfase. Pipelinen forudsiger vurderinger ud fra boganmeldelsestekster. Her er, hvordan du bruger forudbyggede modeller med SynapseML til at løse maskinlæringsproblemer.

Forudsætninger

  • Få et Microsoft Fabric-abonnement. Du kan også tilmelde dig en gratis Prøveversion af Microsoft Fabric.

  • Log på Microsoft Fabric.

  • Skift til Fabric ved at bruge experience-switcheren nederst til venstre på din startside.

    Skærmbillede, der viser valget af Fabric i oplevelsesskifter-menuen.

Forbered ressourcer

Konfigurer de værktøjer og ressourcer, du skal bruge til at opbygge modellen og pipelinen.

  1. Opret en ny notesbog
  2. Vedhæft din notesbog til et lakehouse. Udvid Lakehouses i Stifinder, og vælg derefter Tilføj.
  3. Få en Foundry Tools-nøgle ved at følge instruktionerne i Quickstart: Opret en multiservice-ressource for Foundry Tools.
  4. Opret en Azure Key Vault-instans og tilføj din Foundry Tools-nøgle til nøglevaulten som en hemmelighed.
  5. Registrer dit Key Vault-navn og hemmelige navn. Du skal bruge disse oplysninger for at køre transformeringen i ét trin senere i denne artikel.

Konfigurer miljøet

Importér SynapseML-biblioteker i din notesbog, og initialiser din Spark-session.

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

spark = SparkSession.builder.getOrCreate()

Indlæs et datasæt

Indlæs dit datasæt, og opdel det i tog- og testsæt.

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

display(train)

Opret træningspipeline

Opret en pipeline, der viser data ved hjælp af TextFeaturizer fra synapse.ml.featurize.text biblioteket, og som får en bedømmelse ved hjælp af funktionen 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)

Forudsig resultatet af testdataene

Kald funktionen transform på modellen for at forudsige og vise outputtet af testdataene som en dataramme.

display(model.transform(test))

Brug Foundry Tools til at transformere data i ét trin

Alternativt, til denne type opgaver med en forudbygget løsning, kan du bruge SynapseMLs integration med Foundry Tools til at transformere dine data i ét trin. Kør følgende kode med disse erstatninger:

  • Erstat <secret-name> med navnet på din Foundry Tools nøglehemmelighed.
  • Erstat <key-vault-name> med navnet på din key vault.
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))