Votre premier modèle SynapseML

Ce tutoriel fournit une brève introduction à la création de votre premier modèle Machine Learning à l’aide de SynapseML, montrant comment SynapseML facilite l’effectuer des tâches de Machine Learning complexes. Nous utilisons SynapseML pour créer un petit pipeline d’entraînement ML avec une étape de caractérisation et une phase de régression LightGBM pour prédire des évaluations basées sur le texte de révision d’un jeu de données contenant des révisions de livres provenant d’Amazon. Enfin, nous présentons comment SynapseML facilite l’utilisation de modèles prédéfinis pour résoudre les problèmes sans avoir à les résoudre vous-même.

Prérequis

  • Joignez votre bloc-notes à un lakehouse. Sur le côté gauche, sélectionnez Ajouter pour ajouter un lakehouse existant ou créer un lakehouse.
  • Clé Cognitive Services. Pour obtenir une clé Cognitive Services, suivez le guide de démarrage rapide.

Configurer votre environnement

Importez des bibliothèques SynapseML et initialisez votre session Spark.

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

spark = SparkSession.builder.getOrCreate()


Charger un jeu de données

Chargez votre jeu de données et fractionnez-le en groupes d’apprentissage et de test.

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

display(train)

Créer notre modèle

Créez un pipeline simple pour exploituriser les données à l’aide TextFeaturizer de synapse.ml.featurize.text et dérivez une évaluation à partir de .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"),
    ]
).fit(train)

Prédire

appelez la transform fonction sur le modèle pour prédire et afficher le dataframe de sortie !

display(model.transform(test))

Autre itinéraire : laissez Cognitive Services le gérer !

Pour des tâches comme celle-ci qui ont une solution prédéfinie, essayez d’utiliser l’intégration de SynapseML à Cognitive Services pour transformer vos données en une seule étape.

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

Étapes suivantes