教程:在 Power BI 中生成机器学习模型

重要

为数据流 v1 创建 Power BI 自动化机器学习 (AutoML) 模型已停用,并且不再可用。 建议客户将解决方案迁移到 Microsoft Fabric 中的 AutoML 功能。 有关详细信息,请参阅退休公告

在本教程中,你将使用 自动化机器学习 在 Power BI 中创建和应用二进制预测模型。 创建 Power BI 数据流,并使用数据流中定义的实体直接在 Power BI 中训练和验证机器学习模型。 然后,使用该模型为新数据评分并生成预测。

首先,根据一组在线会话属性创建二进制预测机器学习模型来预测在线购物者的购买意向。 在本练习中使用基准机器学习语义模型。 训练模型后,Power BI 会自动生成一个验证报告来解释模型结果。 然后,可以查看验证报告,并将模型应用到数据进行评分。

本教程由以下步骤组成:

  • 使用输入数据创建数据流。
  • 创建和训练机器学习模型。
  • 查看模型验证报告。
  • 将模型应用到数据流实体。
  • 在 Power BI 报表中使用模型的评分输出。

使用输入数据创建数据流

按照以下步骤创建包含输入数据的数据流。

获取数据

创建数据流的第一步是让数据源准备就绪。 在此示例中,你使用了一组联机会话的机器学习语义模型,其中的一些会话以购买结束。 语义模型包含一组有关这些会话的属性,用于训练模型。

可以从 UC 欧文网站或通过下载 online_shoppers_intention.csv 下载语义模型。 在本教程的后面部分,你将通过指定语义模型的 URL 连接到语义模型。

创建这些表格

若要在数据流中创建实体,请登录到 Power BI 服务并导航到工作区。

  1. 如果没有工作区,请在 Power BI 导航窗格中选择 工作区,然后选择 创建工作区。 在 创建工作区 面板中,输入工作区名称并选择 保存

    如何创建工作区的屏幕截图。

  2. 在新工作区的顶部,选择“新建项”,然后在“获取数据”下,选择“数据流 Gen2”

    如何创建数据流的屏幕截图。

  3. 在打开的对话框中,输入数据流的名称,然后选择 创建

  4. 在 Power Query 编辑器中,选择“从文本/CSV 文件导入”

    从文本/CSV 文件选项导入的屏幕截图。

  5. 在“连接到数据源”页中,将指向“online_shoppers_intention.csv”文件的以下链接粘贴到“文件路径或 URL”框,,然后选择“下一步”

    https://raw.githubusercontent.com/santoshc1/PowerBI-AI-samples/master/Tutorial_AutomatedML/online_shoppers_intention.csv

    显示粘贴到文件路径的屏幕截图。

  6. Power Query 编辑器显示 CSV 文件中数据的预览。 若要在加载数据之前更改数据,请选择 转换数据

    在预览文件数据屏幕上选择“转换数据”的屏幕截图。

  7. Power Query 会自动推断列的数据类型。 可以通过选择列标题顶部的属性类型图标来更改数据类型。 将 收入 列的类型更改为 True/False

    可以通过更改右窗格中 名称 框中的值,将查询重命名为更友好的名称。 将查询名称更改为“在线访问者”

    更改查询名称和收入列数据类型的屏幕截图。

  8. 选择 保存 & 关闭

创建和训练机器学习模型

添加机器学习模型:

  1. 在包含训练数据和标签信息的表的 操作 列表中选择 应用 ML 模型 图标,然后选择 添加机器学习模型

    显示添加机器学习模型的屏幕截图。

  2. 创建机器学习模型的第一步是标识历史数据,包括要预测的结果字段。 通过学习此数据来创建模型。 在这种情况下,你想要预测访问者是否会进行购买。 要预测的结果位于“收入”字段中。 选择“收入”作为“结果列”值,然后选择“下一步”

    显示选择历史数据字段的屏幕截图。

  3. 接下来,选择要创建的机器学习模型的类型。 Power BI 分析你确定的结果字段中的值,并建议可以创建的机器学习模型类型来预测该字段。

    在这种情况下,由于你想要预测访问者是否会进行购买的二进制结果,因此 Power BI 建议使用二进制预测。 由于你有兴趣预测要进行购买的访问者,因此请在“选择目标结果”下选择“true”。 还可以为模型验证结果提供不同的标签,以便在自动生成的报表中进行总结。 选择“下一步”

    显示“二进制预测”屏幕的屏幕截图。

  4. Power BI 对您的数据样本进行初步扫描,并建议可能生成更准确预测的输入项。 如果 Power BI 不推荐某列,则在该列旁边说明原因。 可以通过选中或取消选中列名称旁边的复选框,更改选择以仅包含希望模型学习的字段。 选择“下一步”,以接受输入。

    显示列选择的屏幕截图。

  5. 在最后一步中,将模型命名为 购买意向预测,然后选择在训练中花费的时间量。 可以缩短训练时间以查看快速结果或增加获得最佳模型的时间。 然后选择 保存并训练 以开始训练模型。

    显示命名模型并选择训练时间的屏幕截图。

如果收到类似于“找不到数据源凭据”的错误,则需要更新凭据,以便 Power BI 可以对数据进行评分。 若要更新凭据,请在标题栏中选择“更多选项...”,然后选择“设置”>“设置”。

显示选择“设置”的屏幕截图。

数据流下选择数据流,展开 数据源凭据,然后选择 编辑凭据

显示编辑数据流凭据的屏幕截图。

跟踪训练状态

训练过程首先对历史数据进行采样和规范化,并将语义模型拆分为两个新实体:购买意向预测训练数据购买意向预测测试数据

根据语义模型的大小,训练过程可能会从几分钟到您所选择的训练时间不等。 你可以通过数据流的状态确认模型正在进行训练和验证。 工作区的 语义模型 + 数据流 选项卡中,状态显示为正在进行的数据刷新。

显示正在训练的模型的屏幕截图。

可以在数据流的 机器学习模型 选项卡中查看模型。 状态 表示模型是否已排队进行训练、正在训练中,或已完成训练。 模型训练完成后,数据流会显示更新的“上次训练”时间和“已训练”状态。

显示“训练状态”和“上次训练时间”的屏幕截图。

查看模型验证报告

若要查看模型验证报告,请在“机器学习模型”选项卡中,选择“操作”下的 “查看训练报告”图标。 此报告描述你的机器学习模型可能如何表现。

在报表的 模型性能 页中,选择 查看顶部预测器 以查看模型的顶级预测器。 可以选择其中一个预测器,以查看结果分布如何与该预测器相关联。

显示“模型性能”页的屏幕截图。

在“模型性能”页上,可以使用“概率阈值”切片器,来查看对模型的模型“精度”和“召回率”的影响。

显示概率阈值切片器的屏幕截图。

报表的其他页面描述了模型的统计性能指标。

报告还包括一个 训练详细信息 页,其中描述了 迭代过程、从输入中提取特征的方法,以及用于 最终模型的超参数。

将模型应用于数据流实体

选择报表顶部 应用模型 按钮以调用此模型。 在 “应用”对话框中,您可以指定具有源数据的目标实体,以应用模型。 然后选择 保存并应用

显示应用模型的屏幕截图。

应用模型会创建两个新表,其后缀为“enriched <model_name>”和“enriched <model_name> explanations”。 在这种情况下,将模型应用于“在线访问者”表将创建:

  • 在线访问者扩充的购买意向预测,其中包括模型的预测输出。
  • 在线访问者扩充的购买意向预测说明,其中包括预测的最特定于记录的主要影响因素。

应用二进制预测模型将添加四列:结果PredictionScorePredictionExplanation,以及 ExplanationIndex,每个列都有 购买意向预测 前缀。

显示四个新列的屏幕截图。

数据流刷新完成后,可以选择“在线访问者扩充的购买意向预测”表,以查看结果

显示查看在线访问者扩充的购买意向预测表中结果的屏幕截图。

还可以直接从数据流中的 Power Query 编辑器调用工作区中的任何自动化机器学习模型。 若要访问自动化机器学习模型,请选择想要使用从自动化机器学习模型中获取的见解进行扩充的表的“编辑”功能

显示表“编辑”功能的屏幕截图。

在 Power Query 编辑器功能区中,选择“AI 见解”

显示选择“AI 见解”的屏幕截图。

AI 见解 屏幕上,从导航窗格中选择 Power BI 机器学习模型 文件夹。 该列表显示所有您可以通过 Power Query 函数访问的机器学习模型。 机器学习模型的输入参数会自动映射为相应 Power Query 函数的参数。 仅当参数的名称和数据类型相同时,才会发生自动参数映射。

若要调用机器学习模型,可以选择任何所选模型的列作为下拉列表中的输入。 还可以通过切换输入行旁边的列图标来指定要用作输入的常量值。

显示 Power Query 函数浏览器的屏幕截图。

选择“应用”以查看作为表中新列的机器学习模型的输出预览。 还可以看到查询的“已应用步骤”下的模型调用。

显示 Power Query 编辑器中查看预览结果的屏幕截图。

保存数据流后,当刷新数据流时,将为实体表中的任何新行或更新的行自动调用模型。

在 Power BI 报表中使用模型的评分输出

可以使用数据流连接器,从 Power BI Desktop 连接到数据流,以使用机器学习模型的评分输出。 现在,你可以使用“在线访问者扩充的购买意向预测”表合并 Power BI 报表中模型的预测

局限性

在自动化机器学习中使用网关时存在一些已知问题。 如果需要使用网关,最好先创建一个数据流,通过网关导入必要的数据。 然后创建另一个数据流,引用第一个数据流来创建或应用这些模型。

如果 AI 处理数据流失败,则可能需要在将 AI 与数据流配合使用时启用快速合并。 在导入表后且开始添加 AI 功能之前,请从“主页”功能区中选择“选项”,然后在显示的窗口中选中“允许合并来自多个源的数据”旁边的复选框来启用此功能,然后选择“确定”以保存所选内容。 然后,可以将 AI 功能添加到数据流。

在本教程中,你通过执行以下步骤在 Power BI 中创建并应用了二进制预测模型:

  • 使用输入数据创建了数据流。
  • 创建并训练了机器学习模型。
  • 查看了模型验证报告。
  • 将模型应用于数据流实体。
  • 了解如何在 Power BI 报表中使用模型的评分输出。

有关 Power BI 中的机器学习自动化的详细信息,请参阅 Power BI中的 自动化机器学习。