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 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. 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 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))