Bygg din første SynapseML-modell

Denne artikkelen beskriver hvordan du bygger din første maskinlæringsmodell ved hjelp av SynapseML og demonstrerer hvordan SynapseML forenkler komplekse maskinlæringsoppgaver. Vi bruker SynapseML til å opprette en liten ML-opplæringssamlebånd som inkluderer en med-fase og en LightGBM-regresjonsfase. Rørledningen forutsier vurderinger basert på gjennomgangstekst fra et datasett av Amazon-bokanmeldelser. Til slutt viser vi hvordan SynapseML forenkler bruken av forhåndsbygde modeller for å løse ML-problemer.

Forutsetning

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

  • Logg på Microsoft Fabric.

  • Bytt til datavitenskapsopplevelsen ved hjelp av opplevelsesbryterikonet på venstre side av hjemmesiden.

    Screenshot of the experience switcher menu, showing where to select Data Science.

Konfigurere miljøet

Importer SynapseML-biblioteker 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"),
    ]
).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.

from synapse.ml.cognitive import TextSentiment
from synapse.ml.core.platform import find_secret

model = TextSentiment(
    textCol="text",
    outputCol="sentiment",
    subscriptionKey=find_secret("cognitive-api-key"), # Replace it with your cognitive service key, check prerequisites for more details
).setLocation("eastus")

display(model.transform(test))

Neste trinn