共用方式為


建置您的第一個 SynapseML 模型

本文介紹如何使用 SynapseML 建置您的第一個機器學習模型,並示範 SynapseML 如何簡化複雜的機器學習工作。 我們使用 SynapseML 來建立小型 ML 定型管線,其中包含特徵化階段和 LightGBM 回歸階段。 管線會根據 Amazon 書籍評論數據集的評論文字來預測評等。 最後,我們會展示 SynapseML 如何簡化使用預先建置的模型來解決 ML 問題的方式。

必要條件

設定環境

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

預測測試數據的輸出

呼叫模型上的 函 transform 式,以預測測試數據的輸出,並將測試數據的輸出顯示為數據框架。

display(model.transform(test))

使用 Azure AI 服務在一個步驟中轉換數據

或者,針對具有預先建置解決方案的這類工作,您可以使用 SynapseML 與 Azure AI 服務的整合,在一個步驟中轉換您的數據。

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