Aracılığıyla paylaş


SynapseML ile model oluşturma

Bu makalede SynapseML kullanarak makine öğrenmesi modeli oluşturma ve SynapseML'nin karmaşık makine öğrenmesi görevlerini nasıl basitleştirebileceği açıklanır. Özellik geliştirme aşaması ve LightGBM regresyon aşaması içeren küçük bir makine öğrenmesi eğitim işlem hattı oluşturmak için SynapseML kullanırsınız. İşlem hattı, bir kitap incelemeleri veri kümesinden gelen inceleme metnine göre derecelendirmeleri tahmin eder. SynapseML'nin makine öğrenmesi sorunlarını çözmek için önceden oluşturulmuş modellerin kullanımını nasıl basitleştirebileceğini de görebilirsiniz.

Önkoşullar

Kaynakları hazırlama

Modeli ve işlem hattını oluşturmak için ihtiyacınız olan araçları ve kaynakları oluşturun.

  1. Yeni bir not defteri oluşturun.
  2. Not defterinizi bir göle ekleyin. Mevcut bir göl evi eklemek veya yeni bir tane oluşturmak için sol taraftaki Explorer'ın altında Lakehouses'u genişletin ve Ekle'yi seçin.
  3. Hızlı Başlangıç: Azure AI hizmetleri için çok hizmetli bir kaynak oluşturma başlığı altındaki yönergeleri izleyerek azure yapay zeka hizmetleri anahtarını alın.
  4. Bir Azure Key Vault örneği oluşturun ve Azure AI hizmetleri anahtarınızı anahtar kasasına gizli dizi olarak ekleyin.
  5. Anahtar kasası adınızı ve gizli dizi adınızı not edin. Bu makalenin devamında tek adımlı dönüşümü çalıştırmak için bu bilgilere ihtiyacınız vardır.

Ortamı ayarlama

Not defterinizde SynapseML kitaplıklarını içeri aktarın ve Spark oturumunuzu başlatın.

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

spark = SparkSession.builder.getOrCreate()

Veri kümesi yükleme

Veri kümenizi yükleyip eğitim ve test kümelerine bölün.

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

display(train)

Eğitim işlem hattını oluşturma

kitaplıktan TextFeaturizer kullanarak verileri synapse.ml.featurize.text öne çıkartan ve işlevini kullanarak LightGBMRegressor bir derecelendirme türeten bir işlem hattı oluşturun.

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)

Test verilerinin çıkışını tahmin edin

Test verilerinin çıkışını transform tahmin etmek ve veri çerçevesi olarak görüntülemek için modeldeki işlevi çağırın.

display(model.transform(test))

Verileri tek adımda dönüştürmek için Azure AI hizmetlerini kullanma

Alternatif olarak, önceden oluşturulmuş bir çözümü olan bu tür görevler için SynapseML'nin Azure AI hizmetleriyle tümleştirmesini kullanarak verilerinizi tek adımda dönüştürebilirsiniz. Bu değiştirmelerle aşağıdaki kodu çalıştırın:

  • değerini Azure AI Services anahtar gizli dizinizin adıyla değiştirin <secret-name> .
  • değerini anahtar kasanızın adıyla değiştirin <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))