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.
Klargjøre ressurser
Opprett verktøyene og ressursene du trenger for å bygge modellen og samlebåndet.
- Opprett en ny notatblokk.
- 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.
- Få en azure AI-tjenestenøkkel ved å følge instruksjonene i Hurtigstart: Opprett en multitjenesteressurs for Azure AI-tjenester.
- Opprett en Azure Key Vault-forekomst , og legg til Azure AI-tjenestenøkkelen i nøkkelhvelvet som en hemmelighet.
- 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))