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 po lewej stronie głównej, aby przełączyć się na środowisko usługi Synapse Nauka o danych.
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))