构建你的第一个SynapseML模型
本教程简要介绍了SynapseML。特别是,我们使用SynapseML创建了两个不同的情感分析管道。第一个管道将文本特征化阶段与LightGBM回归相结合,基于来自包含亚马逊书评的数据集中的评论文本来预测评分。第二个管道展示了如何通过Azure AI服务使用预构建模型来解决这个问题,而无需训练数据。
加载数据集
加载您的数据集并将其拆分为训练集和测试集。
train, test = (
spark.read.parquet(
"wasbs://publicwasb@mmlspark.blob.core.windows.net/BookReviewsFromAmazon10K.parquet"
)
.limit(1000)
.cache()
.randomSplit([0.8, 0.2])
)
display(train)
创建训练管道
创建一个管道,使用synapse.ml.featurize.text
库中的TextFeaturizer
对数据进行特征化,并使用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.services.language import AnalyzeText
from synapse.ml.core.platform import find_secret
model = AnalyzeText(
textCol="text",
outputCol="sentiment",
kind="SentimentAnalysis",
subscriptionKey=find_secret(
secret_name="ai-services-api-key", keyvault="mmlspark-build-keys"
), # Replace the call to find_secret with your key as a python string.
).setLocation("eastus")
display(model.transform(test))