Een model bouwen met SynapseML
In dit artikel wordt beschreven hoe u een machine learning-model bouwt met behulp van SynapseML en hoe SynapseML complexe machine learning-taken kan vereenvoudigen. U gebruikt SynapseML om een kleine machine learning-trainingspijplijn te maken die een featurization-fase en een LightGBM-regressiefase bevat. De pijplijn voorspelt beoordelingen op basis van beoordelingstekst uit een gegevensset met boekbeoordelingen. U ziet ook hoe SynapseML het gebruik van vooraf samengestelde modellen kan vereenvoudigen om machine learning-problemen op te lossen.
Vereisten
Haal een Microsoft Fabric-abonnement op. Of meld u aan voor een gratis proefversie van Microsoft Fabric.
Meld u aan bij Microsoft Fabric.
Gebruik de ervaringswisselaar aan de linkerkant van de startpagina om over te schakelen naar Fabric.
Resources voorbereiden
Maak de hulpprogramma's en resources die u nodig hebt om het model en de pijplijn te bouwen.
- Maak een nieuw notitieblok.
- Koppel uw notitieblok aan een lakehouse. Als u een bestaand lakehouse wilt toevoegen of een nieuw lakehouse wilt maken, vouwt u Lakehouses uit onder Explorer aan de linkerkant en selecteert u Vervolgens Toevoegen.
- Haal een Azure AI-servicessleutel op door de instructies in de quickstart te volgen: Een resource voor meerdere services maken voor Azure AI-services.
- Maak een Azure Key Vault-exemplaar en voeg uw Azure AI-servicessleutel als geheim toe aan de sleutelkluis.
- Noteer de naam en de geheime naam van uw sleutelkluis. U hebt deze informatie nodig om de transformatie in één stap verderop in dit artikel uit te voeren.
De omgeving instellen
Importeer synapseML-bibliotheken in uw notebook en initialiseer uw Spark-sessie.
from pyspark.sql import SparkSession
from synapse.ml.core.platform import *
spark = SparkSession.builder.getOrCreate()
Een gegevensset laden
Laad uw gegevensset en splits deze in trainings- en testsets.
train, test = (
spark.read.parquet(
"wasbs://publicwasb@mmlspark.blob.core.windows.net/BookReviewsFromAmazon10K.parquet"
)
.limit(1000)
.cache()
.randomSplit([0.8, 0.2])
)
display(train)
De trainingspijplijn maken
Maak een pijplijn die gegevens TextFeaturizer
uit de synapse.ml.featurize.text
bibliotheek bevat en een classificatie afleidt met behulp van de LightGBMRegressor
functie.
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)
De uitvoer van de testgegevens voorspellen
Roep de transform
functie op het model aan om de uitvoer van de testgegevens te voorspellen en weer te geven als een dataframe.
display(model.transform(test))
Azure AI-services gebruiken om gegevens in één stap te transformeren
U kunt ook de integratie van SynapseML met Azure AI-services gebruiken om uw gegevens in één stap te transformeren voor dit soort taken met een vooraf samengestelde oplossing. Voer de volgende code uit met deze vervangingen:
- Vervang door
<secret-name>
de naam van uw Azure AI Services-sleutelgeheim. - Vervang
<key-vault-name>
door de naam van uw sleutelkluis.
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))