教程:使用 Azure AI 服务进行异常情况检测

本教程介绍如何使用 Azure AI 服务在 Azure Synapse Analytics 中轻松扩充数据。 你将使用 Azure AI 异常检测器查找异常情况。 Azure Synapse 中的用户可以直接选择某一个表进行扩充,以检测异常。

本教程涉及:

  • 获取包含时序数据的 Spark 表数据集的步骤。
  • 在 Azure Synapse 中使用向导体验,通过使用异常检测器来扩充数据。

如果没有 Azure 订阅,可在开始前创建一个试用帐户

先决条件

登录到 Azure 门户

登录到 Azure 门户

创建 Spark 表

本教程需要一个 Spark 表。

创建 PySpark 笔记本并运行以下代码。

from pyspark.sql.functions import lit

df = spark.createDataFrame([
    ("1972-01-01T00:00:00Z", 826.0),
    ("1972-02-01T00:00:00Z", 799.0),
    ("1972-03-01T00:00:00Z", 890.0),
    ("1972-04-01T00:00:00Z", 900.0),
    ("1972-05-01T00:00:00Z", 766.0),
    ("1972-06-01T00:00:00Z", 805.0),
    ("1972-07-01T00:00:00Z", 821.0),
    ("1972-08-01T00:00:00Z", 20000.0),
    ("1972-09-01T00:00:00Z", 883.0),
    ("1972-10-01T00:00:00Z", 898.0),
    ("1972-11-01T00:00:00Z", 957.0),
    ("1972-12-01T00:00:00Z", 924.0),
    ("1973-01-01T00:00:00Z", 881.0),
    ("1973-02-01T00:00:00Z", 837.0),
    ("1973-03-01T00:00:00Z", 9000.0)
], ["timestamp", "value"]).withColumn("group", lit("series1"))

df.write.mode("overwrite").saveAsTable("anomaly_detector_testing_data")

现在,默认的 Spark 数据库中应显示名为 anomaly_detector_testing_data 的 Spark 表。

打开 Azure AI 服务向导

  1. 右键单击在上一步中创建的 Spark 表。 选择“机器学习”>“使用新模型进行预测”打开向导。

    Screenshot that shows selections for opening the scoring wizard.

  2. 此时会显示配置面板,你需要选择一个预训练模型。 选择“异常检测器”。

    Screenshot that shows selection of Anomaly Detector as a model.

配置异常检测器

提供以下详细信息以配置异常检测器:

  • Azure 认知服务链接服务:作为先决条件步骤的一部分,你已创建了一个指向你的 Azure AI 服务的链接服务。 请在这里选择该服务。

  • 粒度:采样数据的速率。 选择“每月一次”。

  • 时间戳列:表示时序的列。 选择“时间戳(字符串)”。

  • 时序值列:表示“时间戳”列所指定时间所对应序列值的列。 选择“值(double)”。

  • 分组列:对系列进行分组的列。 也就是说,在此列中具有相同值的所有行应形成一个时序。 选择“组(字符串)”。

完成后,选择“打开笔记本”。 这将生成包含 PySpark 代码的笔记本,该笔记本使用 Azure AI 服务检测异常情况。

Screenshot that shows configuration details for Anomaly Detector.

运行笔记本

你刚才打开的笔记本使用 SynapseML 库连接到 Azure AI 服务。 你提供的 Azure AI 服务链接服务可以让你在体验中安全地引用你的 Azure AI 服务,不会泄露任何秘密。

现在,可以运行所有单元格以执行异常情况检测。 选择“全部运行”。 详细了解 Azure AI 服务中的异常检测器

Screenshot that shows anomaly detection.

后续步骤