Erstellen eines Modells mit SynapseML
In diesem Artikel wird erläutert, wie du ein Machine Learning-Modell mithilfe von SynapseML erstellst. Außerdem wird veranschaulicht, wie SynapseML komplexe Machine Learning-Aufgaben vereinfacht. Du verwendest SynapseML zum Erstellen einer kleinen Mahine Learning-Trainingspipeline, die eine Featurisierungsphase und eine LightGBM-Regressionsphase enthält. Mit der Pipeline werden Bewertungen basierend auf einem Rezensionstext aus einem DataSet von Buchbewertungen vorausgesagt. Du siehst auch, wie SynapseML die Verwendung vordefinierter Modelle vereinfachen kann, um Machine Learning-Probleme zu lösen.
Voraussetzungen
Erwerben Sie ein Microsoft Fabric-Abonnement. Registrieren Sie sich alternativ für eine kostenlose Microsoft Fabric-Testversion.
Melden Sie sich bei Microsoft Fabric an.
Wechseln Sie zur Synapse-Data Science-Benutzeroberfläche, indem Sie den Umschalter für die Benutzeroberfläche auf der linken Seite Ihrer Homepage verwenden.
Vorbereiten der Ressourcen
Erstelle die Tools und Ressourcen, die du zum Erstellen des Modells und der Pipeline benötigst.
- Erstellen eines neuen Notebooks.
- Verbinden Sie Ihr Notebook mit einem Lakehouse. Um ein vorhandenes Lakehouse hinzuzufügen oder ein neues zu erstellen, erweitere Lakehouses unter Explorer links, und wähle dann Hinzufügen aus.
- Rufe einen Azure KI Services-Schlüssel ab, indem du die Anweisungen unter Schnellstart: Erstellen einer Ressource für mehrere Dienste für Azure KI Services ausführst.
- Erstelle eine Azure Key Vault-Instanz, und füge deine Azure KI Services-Schlüssel als geheimen Schlüssel zum Schlüsseltresor hinzu.
- Notiere dir den Namen des Schlüsseltresors sowie den Namen des geheimen Schlüssels. Du benötigst diese Informationen, um die 1-Schritt-Transformation weiter unten in diesem Artikel auszuführen.
Einrichten der Umgebung
Importiere SynapseML-Bibliotheken in dein Notebook, und initialisiere deine Spark-Sitzung.
from pyspark.sql import SparkSession
from synapse.ml.core.platform import *
spark = SparkSession.builder.getOrCreate()
Laden eines Datasets
Laden Sie Ihr Dataset, und teilen Sie es in Trainings- und Testsätze auf.
train, test = (
spark.read.parquet(
"wasbs://publicwasb@mmlspark.blob.core.windows.net/BookReviewsFromAmazon10K.parquet"
)
.limit(1000)
.cache()
.randomSplit([0.8, 0.2])
)
display(train)
Erstellen der Trainingspipeline
Erstellen Sie eine Pipeline, die Daten mit TextFeaturizer
aus der synapse.ml.featurize.text
-Bibliothek featurisiert und mithilfe der LightGBMRegressor
-Funktion eine Bewertung ableiten kann.
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)
Vorhersagen der Ausgabe der Testdaten
Rufen Sie die transform
-Funktion für das Modell auf, um die Ausgabe der Testdaten vorherzusagen und als Dataframe anzuzeigen.
display(model.transform(test))
Verwenden von Azure KI Services zum Transformieren von Daten in einem Schritt
Alternativ können Sie für diese Arten von Aufgaben, die über eine vordefinierte Lösung verfügen, die Integration von SynapseML in Azure KI Services verwenden, um Ihre Daten in einem Schritt zu transformieren. Führe den folgenden Code mit diesen Ersetzungen aus:
- Ersetze
<secret-name>
durch den Namen deines geheimen Azure AI Services-Schlüssels. - Ersetzen Sie
<key-vault-name>
durch den Namen Ihres Schlüsseltresors.
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))