Tworzenie modelu za pomocą usługi SynapseML
W tym artykule opisano sposób tworzenia modelu uczenia maszynowego przy użyciu języka SynapseML i pokazano, jak usługa SynapseML może uprościć złożone zadania uczenia maszynowego. Usługa SynapseML umożliwia utworzenie małego potoku trenowania uczenia maszynowego obejmującego etap cechowania i etap regresji LightGBM. Potok przewiduje oceny na podstawie tekstu przeglądu z zestawu danych recenzji książek. Zobaczysz również, jak usługa SynapseML może uprościć korzystanie ze wstępnie utworzonych modeli w celu rozwiązywania problemów z uczeniem maszynowym.
Wymagania wstępne
Uzyskaj subskrypcję usługi Microsoft Fabric. Możesz też utworzyć konto bezpłatnej wersji próbnej usługi Microsoft Fabric.
Zaloguj się do usługi Microsoft Fabric.
Użyj przełącznika środowiska w lewej dolnej części strony głównej, aby przełączyć się na Fabric.
Przygotowywanie zasobów
Utwórz narzędzia i zasoby potrzebne do utworzenia modelu i potoku.
- Utwórz nowy notes.
- Dołącz notes do magazynu lakehouse. Aby dodać istniejący magazyn lakehouse lub utworzyć nowy, rozwiń węzeł Lakehouses w obszarze Eksplorator po lewej stronie, a następnie wybierz pozycję Dodaj.
- Pobierz klucz usług AI platformy Azure, postępując zgodnie z instrukcjami w przewodniku Szybki start: tworzenie zasobu wielosługowego dla usług Azure AI.
- Utwórz wystąpienie usługi Azure Key Vault i dodaj klucz usług Azure AI do magazynu kluczy jako wpis tajny.
- Zanotuj nazwę magazynu kluczy i nazwę wpisu tajnego. Te informacje są potrzebne do uruchomienia przekształcenia jednoetapowego w dalszej części tego artykułu.
Konfigurowanie środowiska
W notesie zaimportuj biblioteki SynapseML i zainicjuj sesję platformy Spark.
from pyspark.sql import SparkSession
from synapse.ml.core.platform import *
spark = SparkSession.builder.getOrCreate()
Ładowanie zestawu danych
Załaduj zestaw danych i podziel go na zestawy trenowania i testowania.
train, test = (
spark.read.parquet(
"wasbs://publicwasb@mmlspark.blob.core.windows.net/BookReviewsFromAmazon10K.parquet"
)
.limit(1000)
.cache()
.randomSplit([0.8, 0.2])
)
display(train)
Tworzenie potoku trenowania
Utwórz potok, który featurizuje dane przy użyciu TextFeaturizer
synapse.ml.featurize.text
biblioteki i uzyskuje klasyfikację przy użyciu LightGBMRegressor
funkcji .
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)
Przewidywanie danych wyjściowych danych testowych
Wywołaj transform
funkcję w modelu, aby przewidzieć i wyświetlić dane wyjściowe danych testowych jako ramkę danych.
display(model.transform(test))
Przekształcanie danych w jednym kroku za pomocą usług Azure AI
Alternatywnie w przypadku tego rodzaju zadań, które mają wstępnie utworzone rozwiązanie, możesz użyć integracji usługi SynapseML z usługami Azure AI, aby przekształcić dane w jednym kroku. Uruchom następujący kod z następującymi zamianami:
- Zastąp
<secret-name>
ciąg nazwą klucza usługi Azure AI Services. - Zastąp
<key-vault-name>
ciąg nazwą magazynu kluczy.
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))