Az első SynapseML-modell

Ez az oktatóanyag röviden bemutatja, hogyan hozhatja létre első gépi tanulási modelljét a SynapseML használatával, bemutatva, hogy a SynapseML hogyan teszi egyszerűvé az összetett gépi tanulási feladatok elvégzését. A SynapseML használatával létrehozunk egy kis ml-betanítási folyamatot egy featurizációs fázissal és LightGBM regressziós fázissal az értékelések előrejelzéséhez egy, az Amazontól származó könyvértékeléseket tartalmazó adatkészletből származó felülvizsgálati szöveg alapján. Végül bemutatjuk, hogyan teszi a SynapseML megkönnyíti az előre összeállított modellek használatát a problémák megoldásához anélkül, hogy saját maga kellene újra megoldania őket.

Előfeltételek

  • Csatolja a jegyzetfüzetet egy tótárházhoz. A bal oldalon válassza a Hozzáadás lehetőséget egy meglévő tóház hozzáadásához vagy egy tóház létrehozásához.
  • Cognitive Services-kulcs. A Cognitive Services-kulcs beszerzéséhez kövesse a rövid útmutatót.

A környezet beállítása

Importálja a SynapseML-kódtárakat, és inicializálja a Spark-munkamenetet.

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

spark = SparkSession.builder.getOrCreate()


Adathalmaz betöltése

Töltse be az adathalmazt, és ossza fel betanítási és tesztelési készletekre.

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

display(train)

Modell létrehozása

Hozzon létre egy egyszerű folyamatot az adatok featurizálásához a TextFeaturizer forrás synapse.ml.featurize.text használatával, és származtasson egy minősítést a LightGBMRegressor-ből.

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)

Előrejelzés

hívja meg a transform függvényt a modellen a kimeneti adatkeret előrejelzéséhez és megjelenítéséhez!

display(model.transform(test))

Alternatív útvonal – Hagyja, hogy a Cognitive Services kezelje!

Az ilyen, előre összeállított megoldással rendelkező feladatok esetében próbálja meg a SynapseML és a Cognitive Services integrációjával átalakítani az adatokat egy lépésben.

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

Következő lépések