Ваша первая модель SynapseML

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

Предварительные требования

  • Вложите записную книжку в lakehouse. В левой части щелкните Добавить , чтобы добавить существующий lakehouse или создать lakehouse.
  • Ключ Cognitive Services. Чтобы получить ключ Cognitive Services, выполните инструкции из краткого руководства.

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

Импортируйте библиотеки 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"),
    ]
).fit(train)

Predict

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

display(model.transform(test))

Альтернативный маршрут . Разрешите Cognitive Services обработать его!

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

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))

Дальнейшие действия