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 TextFeaturizer
synapse.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))