教程:使用 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 表。 选择“机器学习”>“使用新模型进行预测”打开向导。

    显示用于打开评分向导的选项的屏幕截图。

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

    显示异常检测器作为模型的选择的屏幕截图。

配置异常检测器

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

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

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

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

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

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

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

显示异常检测器的配置详细信息的屏幕截图。

运行笔记本

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

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

显示异常情况检测的屏幕截图。

后续步骤