Skapa din första SynapseML-modell

Den här artikeln beskriver hur du skapar din första maskininlärningsmodell med SynapseML och visar hur SynapseML förenklar komplexa maskininlärningsuppgifter. Vi använder SynapseML för att skapa en liten ML-träningspipeline som innehåller ett funktionaliseringssteg och ett LightGBM-regressionssteg. Pipelinen förutsäger betyg baserat på granskningstext från en datamängd med Amazon-bokrecensioner. Slutligen visar vi hur SynapseML förenklar användningen av fördefinierade modeller för att lösa ML-problem.

Förutsättningar

Konfigurera miljön

Importera SynapseML-bibliotek 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 TextFeaturizersynapse.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"),
    ]
).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.

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