Creare un modello con SynapseML
Questo articolo descrive come creare un modello di Machine Learning usando SynapseML e illustra come SynapseML può semplificare attività complesse di Machine Learning. Si usa SynapseML per creare una piccola pipeline di training di Machine Learning che include una fase di definizione delle caratteristiche e una fase di regressione LightGBM. La pipeline stima le valutazioni in base al testo della revisione da un set di dati di recensioni di libri. Si vedrà anche come SynapseML può semplificare l'uso di modelli predefiniti per risolvere i problemi di Machine Learning.
Prerequisiti
Ottenere una sottoscrizione di Microsoft Fabric. In alternativa, iscriversi per ottenere una versione di valutazione gratuita di Microsoft Fabric.
Accedere a Microsoft Fabric.
Usare il commutatore esperienza sul lato sinistro della home page per passare all'esperienza di data science di Synapse.
Preparare le risorse
Creare gli strumenti e le risorse necessari per compilare il modello e la pipeline.
- Creare un nuovo notebook.
- Collegare il notebook a una lakehouse. Per aggiungere una lakehouse esistente o crearne una nuova, espandere Lakehouses in Explorer a sinistra e quindi selezionare Aggiungi.
- Ottenere una chiave dei servizi di intelligenza artificiale di Azure seguendo le istruzioni riportate in Avvio rapido: Creare una risorsa multiservizio per i servizi di intelligenza artificiale di Azure.
- Creare un'istanza di Azure Key Vault e aggiungere la chiave dei servizi di intelligenza artificiale di Azure all'insieme di credenziali delle chiavi come segreto.
- Prendere nota del nome dell'insieme di credenziali delle chiavi e del nome del segreto. Queste informazioni sono necessarie per eseguire la trasformazione in un unico passaggio più avanti in questo articolo.
Configurare l'ambiente
Nel notebook importare le librerie SynapseML e inizializzare la sessione Spark.
from pyspark.sql import SparkSession
from synapse.ml.core.platform import *
spark = SparkSession.builder.getOrCreate()
Caricare un set di dati
Caricare il set di dati e suddividerlo in set di training e 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)
Creare la pipeline di training
Creare una pipeline che definisce le caratteristiche dei dati usando TextFeaturizer
la synapse.ml.featurize.text
libreria e deriva una classificazione usando la LightGBMRegressor
funzione .
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)
Stimare l'output dei dati di test
Chiamare la transform
funzione sul modello per stimare e visualizzare l'output dei dati di test come dataframe.
display(model.transform(test))
Usare i servizi di intelligenza artificiale di Azure per trasformare i dati in un unico passaggio
In alternativa, per questi tipi di attività con una soluzione predefinita, è possibile usare l'integrazione di SynapseML con i servizi di intelligenza artificiale di Azure per trasformare i dati in un unico passaggio. Eseguire il codice seguente con queste sostituzioni:
- Sostituire
<secret-name>
con il nome del segreto della chiave di Servizi di intelligenza artificiale di Azure. - Sostituire
<key-vault-name>
con il nome dell'insieme di credenziali delle chiavi.
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))
Contenuto correlato
Commenti e suggerimenti
https://aka.ms/ContentUserFeedback.
Presto disponibile: Nel corso del 2024 verranno gradualmente disattivati i problemi di GitHub come meccanismo di feedback per il contenuto e ciò verrà sostituito con un nuovo sistema di feedback. Per altre informazioni, vedereInvia e visualizza il feedback per