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

重要

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

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

首先将创建二进制预测机器学习模型,用于基于在线购物者的联机会话属性集预测他们的购买意向。 你在此练习中使用了基准机器学习语义模型。 训练模型后,Power BI 会自动生成验证报告,用于解释模型结果。 然后则可以查询验证报告,并将模型应用于数据,来进行评分。

本教程包含以下几个步骤:

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

使用输入数据创建数据流

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

获取数据

创建数据流的第 1 个步骤是准备好数据资源。 在此示例中,你使用了一组联机会话的机器学习语义模型,其中的一些会话以购买结束。 此语义模型包含一组与这些会话相关的属性,你将使用它们来训练模型。

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

创建表格

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

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

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

  2. 选择新工作区顶部的“新建”,然后选择“数据流”。

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

  3. 选择“添加新表”以在浏览器中启动 Power Query 编辑器。

    显示选择“添加新表”的屏幕截图。

  4. 在“选择数据源”屏幕上,选择“文本/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. 创建机器学习模型的第 1 个步骤是确认历史数据,包括想要预测的结果字段。 通过学习此数据创建模型。 在这种情况下,你想要预测访问者是否会进行购买。 要预测的结果位于“收入”字段中。 选择“收入”作为“结果列”值,然后选择“下一步”。

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

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

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

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

  4. Power BI 对你的数据示例进行初步扫描,并建议可能产生更准确的预测的输入。 如果 Power BI 不建议使用列,则会在列旁边提供说明。 可以通过选中或取消选中列名称旁边的复选框,更改选择以仅包含希望模型学习的字段。 选择“下一步”,以接受输入。

    显示列选择的屏幕截图。

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

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

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

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

在“数据流”下选择数据流,展开“数据源凭据”,然后选择“编辑凭据”。

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

跟踪训练状态

训练过程将从采集和规范化历史数据并将语义模型拆分为两个新的实体(“购买意向预测训练数据”和“购买意向预测测试数据”)开始。

在任何地方,训练过程均可能需要几分钟到所选择的训练时间,具体取决于语义模型的大小。 可以通过数据流的状态确认正在训练和验证模型。 在工作区的“语义模型 + 数据流”选项卡中,状态显示为数据刷新“正在进行中”。

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

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

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

查看模型验证报告

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

在报表的“模型性能”页中,选择“查看主要预测指标”,以查看模型的主要预测指标。 可以选择一个预测指标,查看结果分布与该预测指标的关联情况。

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

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

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

报告的其他页描述模型的统计学性能指标。

此报告还包括“训练详细信息”页,其中说明了各种迭代运行、如何从输入提取特征,以及使用的最终模型的超参数。

将模型应用于数据流实体

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

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

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

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

应用二进制预测模型会添加四列:结果、PredictionScore、PredictionExplanation 和 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 中的自动化机器学习