Del via


Bygg en modell med SynapseML

Denne artikkelen beskriver hvordan du bygger en maskinlæringsmodell ved hjelp av SynapseML, og demonstrerer hvordan SynapseML kan forenkle komplekse maskinlæringsoppgaver. Du bruker SynapseML til å opprette en liten maskinlæringsopplæringsforløp som inkluderer en med-fase og en LightGBM-regresjonsfase. Datasamlebåndet forutser vurderinger basert på gjennomgangstekst fra et datasett med bokanmeldelser. Du ser også hvordan SynapseML kan forenkle bruken av forhåndsbygde modeller for å løse maskinlæringsproblemer.

Forutsetning

  • Få et Microsoft Fabric-abonnement. Eller registrer deg for en gratis prøveversjon av Microsoft Fabric.

  • Logg på Microsoft Fabric.

  • Bruk opplevelsesbryteren til venstre på hjemmesiden for å bytte til Synapse Data Science-opplevelsen.

    Skjermbilde av menyen for opplevelsesbryteren, som viser hvor du velger Datavitenskap.

Klargjøre ressurser

Opprett verktøyene og ressursene du trenger for å bygge modellen og samlebåndet.

  1. Opprett en ny notatblokk.
  2. Legg notatblokken til et lakehouse. Hvis du vil legge til et eksisterende lakehouse eller opprette et nytt, utvider du Lakehouses under Explorer til venstre, og deretter velger du Legg til.
  3. Få en azure AI-tjenestenøkkel ved å følge instruksjonene i Hurtigstart: Opprett en multitjenesteressurs for Azure AI-tjenester.
  4. Opprett en Azure Key Vault-forekomst , og legg til Azure AI-tjenestenøkkelen i nøkkelhvelvet som en hemmelighet.
  5. Noter nøkkelhvelvets navn og hemmelige navn. Du trenger denne informasjonen for å kjøre en trinnvis transformasjon senere i denne artikkelen.

Konfigurere miljøet

Importer SynapseML-biblioteker i notatblokken, og initialiser Spark-økten.

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

spark = SparkSession.builder.getOrCreate()

Laste inn et datasett

Last inn datasettet og del det opp i tog- og testsett.

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

display(train)

Opprett opplæringssamlebåndet

Opprett et datasamlebånd som inneholder data som bruker TextFeaturizer fra synapse.ml.featurize.text biblioteket, og avleder en vurdering ved hjelp av LightGBMRegressor funksjonen.

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)

Forutsi utdataene for testdataene

transform Kall funksjonen på modellen for å forutsi og vise utdataene for testdataene som en dataramme.

display(model.transform(test))

Bruk Azure AI-tjenester til å transformere data i ett trinn

Alternativt kan du bruke SynapseML-integrering med Azure AI-tjenester til å transformere dataene i ett trinn for slike oppgaver som har en forhåndsbygd løsning. Kjør følgende kode med disse erstatningene:

  • Erstatt <secret-name> med navnet på nøkkelhemmeligheten for Azure AI Services.
  • Erstatt <key-vault-name> med navnet på nøkkelhvelvet.
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))