Skapa en modell med SynapseML
Den här artikeln beskriver hur du skapar en maskininlärningsmodell med hjälp av SynapseML och visar hur SynapseML kan förenkla komplexa maskininlärningsuppgifter. Du använder SynapseML för att skapa en liten pipeline för maskininlärningsträning som innehåller en funktionaliseringsfas och ett LightGBM-regressionssteg. Pipelinen förutsäger klassificeringar baserat på granskningstext från en datamängd med bokrecensioner. Du ser också hur SynapseML kan förenkla användningen av fördefinierade modeller för att lösa maskininlärningsproblem.
Förutsättningar
Skaffa en Microsoft Fabric-prenumeration. Eller registrera dig för en kostnadsfri utvärderingsversion av Microsoft Fabric.
Logga in på Microsoft Fabric.
Använd upplevelseväxlaren till vänster på startsidan för att växla till Synapse Datavetenskap upplevelse.
Förbereda resurser
Skapa de verktyg och resurser som du behöver för att skapa modellen och pipelinen.
- Skapa en ny notebook-fil.
- Bifoga anteckningsboken till ett sjöhus. Om du vill lägga till ett befintligt lakehouse eller skapa ett nytt expanderar du Lakehouses under Utforskaren till vänster och väljer sedan Lägg till.
- Hämta en Azure AI-tjänstnyckel genom att följa anvisningarna i Snabbstart: Skapa en resurs med flera tjänster för Azure AI-tjänster.
- Skapa en Azure Key Vault-instans och lägg till din Azure AI-tjänstnyckel i nyckelvalvet som en hemlighet.
- Anteckna namnet på ditt nyckelvalv och ditt hemliga namn. Du behöver den här informationen för att köra enstegstransformationen senare i den här artikeln.
Konfigurera miljön
Importera SynapseML-bibliotek i anteckningsboken och initiera Spark-sessionen.
from pyspark.sql import SparkSession
from synapse.ml.core.platform import *
spark = SparkSession.builder.getOrCreate()
Läsa in en datauppsättning
Läs in din datauppsättning och dela upp den i tränings- och testuppsättningar.
train, test = (
spark.read.parquet(
"wasbs://publicwasb@mmlspark.blob.core.windows.net/BookReviewsFromAmazon10K.parquet"
)
.limit(1000)
.cache()
.randomSplit([0.8, 0.2])
)
display(train)
Skapa träningspipelinen
Skapa en pipeline som funktionaliserar data med hjälp av TextFeaturizer
synapse.ml.featurize.text
från biblioteket och härleder ett omdöme med hjälp av LightGBMRegressor
funktionen.
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)
Förutsäga utdata från testdata
transform
Anropa funktionen i modellen för att förutsäga och visa utdata från testdata som en dataram.
display(model.transform(test))
Använda Azure AI-tjänster för att transformera data i ett steg
För den här typen av uppgifter som har en fördefinierad lösning kan du också använda SynapseML:s integrering med Azure AI-tjänster för att transformera dina data i ett enda steg. Kör följande kod med dessa ersättningar:
- Ersätt
<secret-name>
med namnet på din Azure AI Services-nyckelhemlighet. - Ersätt
<key-vault-name>
med namnet på ditt nyckelvalv.
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))