Del via


Byg en model med SynapseML

I denne artikel beskrives det, hvordan du bygger en model til maskinel indlæring ved hjælp af SynapseML, og hvordan SynapseML kan forenkle komplekse opgaver i forbindelse med maskinel indlæring. Du bruger SynapseML til at oprette en lille pipeline til oplæring af maskinel indlæring, der omfatter en featuriseringsfase og en LightGBM-regressionsfase. Pipelinen forudsiger bedømmelser baseret på korrekturtekst fra et datasæt med boganmeldelser. Du kan også se, hvordan SynapseML kan forenkle brugen af færdigbyggede modeller til at løse problemer med maskinel indlæring.

Forudsætninger

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

  • Log på Microsoft Fabric.

  • Brug oplevelsesskifteren i venstre side af startsiden til at skifte til Synapse Data Science-oplevelsen.

    Skærmbillede af menuen til skift af oplevelse, der viser, hvor du skal vælge Datavidenskab.

Forbered ressourcer

Opret de værktøjer og ressourcer, du skal bruge for at bygge modellen og pipelinen.

  1. Opret en ny notesbog.
  2. Vedhæft din notesbog til et lakehouse. Hvis du vil tilføje et eksisterende lakehouse eller oprette et nyt, skal du udvide Lakehouses under Stifinder til venstre og derefter vælge Tilføj.
  3. Få en Azure AI-tjenestenøgle ved at følge vejledningen i Hurtig start: Opret en ressource med flere tjenester til Azure AI-tjenester.
  4. Opret en Forekomst af Azure Key Vault, og føj din Azure AI-tjenestenøgle til key vault som en hemmelighed.
  5. Notér navnet på din key vault og dit hemmelige navn. Du skal bruge disse oplysninger for at køre transformationen 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 Azure AI-tjenester til at transformere data på ét trin

Alternativt kan du bruge SynapseML's integration med Azure AI-tjenester til at transformere dine data på ét trin til denne type opgaver, der har en færdigbygget løsning. Kør følgende kode med disse erstatninger:

  • Erstat <secret-name> med navnet på din Azure AI Services-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))