Delen via


Uw eerste SynapseML-model bouwen

In dit artikel wordt uitgelegd hoe u uw eerste machine learning-model bouwt met Behulp van SynapseML en hoe SynapseML complexe machine learning-taken vereenvoudigt. We gebruiken SynapseML om een kleine ML-trainingspijplijn te maken die een featurization-fase en een LightGBM-regressiefase bevat. De pijplijn voorspelt beoordelingen op basis van beoordelingstekst uit een gegevensset van Amazon-boekbeoordelingen. Ten slotte laten we zien hoe SynapseML het gebruik van vooraf samengestelde modellen vereenvoudigt om ML-problemen op te lossen.

Vereisten

De omgeving instellen

Importeer SynapseML-bibliotheken en initialiseer uw Spark-sessie.

from pyspark.sql import SparkSession
from synapse.ml.core.platform import *

spark = SparkSession.builder.getOrCreate()

Een gegevensset laden

Laad uw gegevensset en splits deze in trainings- en testsets.

train, test = (
    spark.read.parquet(
        "wasbs://publicwasb@mmlspark.blob.core.windows.net/BookReviewsFromAmazon10K.parquet"
    )
    .limit(1000)
    .cache()
    .randomSplit([0.8, 0.2])
)

display(train)

De trainingspijplijn maken

Maak een pijplijn die gegevens TextFeaturizer uit de synapse.ml.featurize.text bibliotheek bevat en een classificatie afleidt met behulp van de LightGBMRegressor functie.

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)

De uitvoer van de testgegevens voorspellen

Roep de transform functie op het model aan om de uitvoer van de testgegevens te voorspellen en weer te geven als een dataframe.

display(model.transform(test))

Azure AI-services gebruiken om gegevens in één stap te transformeren

U kunt ook de integratie van SynapseML met Azure AI-services gebruiken om uw gegevens in één stap te transformeren voor dit soort taken met een vooraf samengestelde oplossing.

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