Создание модели с помощью SynapseML

В этой статье описывается, как создать модель машинного обучения с помощью SynapseML и продемонстрировать, как SynapseML может упростить сложные задачи машинного обучения. Вы используете SynapseML для создания небольшого конвейера обучения машинного обучения, который включает этап признаков и этап регрессии LightGBM. Конвейер прогнозирует оценки на основе текста проверки из набора данных отзывов книг. Вы также узнаете, как SynapseML может упростить использование предварительно созданных моделей для решения проблем машинного обучения.

Необходимые компоненты

  • Получение подписки Microsoft Fabric. Или зарегистрируйте бесплатную пробную версию Microsoft Fabric.

  • Войдите в Microsoft Fabric.

  • Используйте переключатель интерфейса в левой части домашней страницы, чтобы перейти на интерфейс Synapse Обработка и анализ данных.

    Снимок экрана: меню переключателя интерфейса, в котором показано, где выбрать Обработка и анализ данных.

Подготовка ресурсов

Создайте средства и ресурсы, необходимые для создания модели и конвейера.

  1. Создайте записную книжку.
  2. Подключите записную книжку к lakehouse. Чтобы добавить существующий lakehouse или создать новый, разверните Lakehouses в обозревателе слева и нажмите кнопку "Добавить".
  3. Получите ключ служб ИИ Azure, следуя инструкциям в кратком руководстве. Создание ресурса с несколькими службами для служб ИИ Azure.
  4. Создайте экземпляр Azure Key Vault и добавьте ключ служб ИИ Azure в хранилище ключей в качестве секрета.
  5. Запишите имя хранилища ключей и имя секрета. Эти сведения потребуются для выполнения одношагового преобразования далее в этой статье.

Настройка среды

В записной книжке импортируйте библиотеки SynapseML и инициализировать сеанс Spark.

from pyspark.sql import SparkSession
from synapse.ml.core.platform import *

spark = SparkSession.builder.getOrCreate()

Загрузка набора данных

Загрузите набор данных и разделите его на наборы обучения и тестирования.

train, test = (
    spark.read.parquet(
        "wasbs://publicwasb@mmlspark.blob.core.windows.net/BookReviewsFromAmazon10K.parquet"
    )
    .limit(1000)
    .cache()
    .randomSplit([0.8, 0.2])
)

display(train)

Создание конвейера обучения

Создайте конвейер, который содержит данные из TextFeaturizer synapse.ml.featurize.text библиотеки и получает оценку с помощью LightGBMRegressor функции.

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)

Прогнозирование выходных данных теста

transform Вызовите функцию модели для прогнозирования и отображения выходных данных теста в виде кадра данных.

display(model.transform(test))

Использование служб ИИ Azure для преобразования данных на одном шаге

Кроме того, для таких задач, которые имеют предварительно созданное решение, можно использовать интеграцию SynapseML со службами ИИ Azure для преобразования данных на одном шаге. Выполните следующий код с этими заменами:

  • Замените <secret-name> именем секрета ключа Служб ИСКУССТВЕННОго интеллекта Azure.
  • Замените <key-vault-name> именем своего хранилища ключей.
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))