Su primer modelo de SynapseML

En este tutorial se proporciona una breve introducción a la creación del primer modelo de aprendizaje automático mediante SynapseML, que muestra cómo SynapseML facilita la realización de tareas complejas de aprendizaje automático. Usamos SynapseML para crear una pequeña canalización de aprendizaje automático con una fase de caracterización y una fase de regresión de LightGBM para predecir clasificaciones basadas en el texto de revisión de un conjunto de datos que contiene revisiones de libros de Amazon. Por último, mostramos cómo SynapseML facilita el uso de modelos precompilados para resolver problemas sin tener que volver a resolverlos usted mismo.

Requisitos previos

  • Adjunte el cuaderno a un lago. En el lado izquierdo, seleccione Agregar para agregar un lago existente o crear un lago.
  • Clave de Cognitive Services. Para obtener una clave de Cognitive Services, siga el inicio rápido.

Configuración del entorno

Importe las bibliotecas de SynapseML e inicialice la sesión de Spark.

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

spark = SparkSession.builder.getOrCreate()


Cargar un conjunto de datos

Cargue el conjunto de datos y divida en conjuntos de entrenamiento y pruebas.

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

display(train)

Crear nuestro modelo

Cree una canalización sencilla para caracterizar los datos mediante y TextFeaturizersynapse.ml.featurize.text derivar una clasificación 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)

Predict

llame a la transform función en el modelo para predecir y mostrar la trama de datos de salida.

display(model.transform(test))

Ruta alternativa: deje que Cognitive Services lo controle.

Para tareas como esta que tienen una solución precompilada, pruebe a usar la integración de SynapseML con Cognitive Services para transformar los datos en un solo paso.

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

Pasos siguientes