Создание первой модели SynapseML

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

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

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

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

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

    Screenshot of the experience switcher menu, showing where to select Data Science.

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

Импортируйте библиотеки 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)

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

Создайте конвейер, который содержит данные из TextFeaturizersynapse.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"),
    ]
).fit(train)

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

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

display(model.transform(test))

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

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

from synapse.ml.cognitive import TextSentiment
from synapse.ml.core.platform import find_secret

model = TextSentiment(
    textCol="text",
    outputCol="sentiment",
    subscriptionKey=find_secret("cognitive-api-key"), # Replace it with your cognitive service key, check prerequisites for more details
).setLocation("eastus")

display(model.transform(test))