Crie um modelo com SynapseML
Este artigo descreve como criar um modelo de aprendizado de máquina usando SynapseML e demonstra como SynapseML pode simplificar tarefas complexas de aprendizado de máquina. Você usa o SynapseML para criar um pequeno pipeline de treinamento de aprendizado de máquina que inclui um estágio de featurização e um estágio de regressão LightGBM. O pipeline prevê classificações com base no texto de revisão de um conjunto de dados de resenhas de livros. Você também vê como o SynapseML pode simplificar o uso de modelos pré-construídos para resolver problemas de aprendizado de máquina.
Pré-requisitos
Obtenha uma assinatura do Microsoft Fabric. Ou inscreva-se para uma avaliação gratuita do Microsoft Fabric.
Entre no Microsoft Fabric.
Use o seletor de experiência no lado esquerdo da sua página inicial para alternar para a experiência Synapse Data Science.
Preparar recursos
Crie as ferramentas e os recursos necessários para criar o modelo e o pipeline.
- Crie um novo bloco de notas.
- Ligue o seu bloco de notas a uma casa no lago. Para adicionar uma casa de lago existente ou criar uma nova, expanda Lakehouses em Explorer à esquerda e selecione Adicionar.
- Obtenha uma chave de serviços de IA do Azure seguindo as instruções em Guia de início rápido: criar um recurso multisserviço para serviços de IA do Azure.
- Crie uma instância do Azure Key Vault e adicione sua chave de serviços de IA do Azure ao cofre de chaves como um segredo.
- Anote o nome do cofre da chave e o nome secreto. Você precisa dessas informações para executar a transformação de uma etapa mais adiante neste artigo.
Configurar o ambiente
No seu bloco de notas, importe bibliotecas SynapseML e inicialize a sessão do Spark.
from pyspark.sql import SparkSession
from synapse.ml.core.platform import *
spark = SparkSession.builder.getOrCreate()
Carregar um conjunto de dados
Carregue seu conjunto de dados e divida-o em conjuntos de trem e teste.
train, test = (
spark.read.parquet(
"wasbs://publicwasb@mmlspark.blob.core.windows.net/BookReviewsFromAmazon10K.parquet"
)
.limit(1000)
.cache()
.randomSplit([0.8, 0.2])
)
display(train)
Criar o pipeline de treinamento
Crie um pipeline que featurize dados usando TextFeaturizer
a biblioteca e derive synapse.ml.featurize.text
uma classificação usando a LightGBMRegressor
função.
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", dataTransferMode="bulk")
]
).fit(train)
Prever a saída dos dados de teste
Chame a transform
função no modelo para prever e exibir a saída dos dados de teste como um dataframe.
display(model.transform(test))
Usar os serviços de IA do Azure para transformar dados em uma etapa
Como alternativa, para esses tipos de tarefas que têm uma solução pré-criada, você pode usar a integração do SynapseML com os serviços de IA do Azure para transformar seus dados em uma etapa. Execute o seguinte código com estas substituições:
- Substitua
<secret-name>
pelo nome do segredo da chave dos Serviços de IA do Azure. - Substitua
<key-vault-name>
pelo nome do cofre de chaves.
from synapse.ml.services import TextSentiment
from synapse.ml.core.platform import find_secret
model = TextSentiment(
textCol="text",
outputCol="sentiment",
subscriptionKey=find_secret("<secret-name>", "<key-vault-name>")
).setLocation("eastus")
display(model.transform(test))