文档
  • PyCaret 3.0
  • 入门
    • 💻安装
    • 🚀快速入门
    • ⭐教程
    • 📶模块
    • ⚙️数据预处理
      • 数据准备
      • 缩放和变换
      • 特征工程
      • 特征选择
      • 其他设置参数
    • 💡函数
      • 初始化
      • 训练
      • 优化
      • 分析
      • 部署
      • 其他
  • 学习 PYCARET
    • 📖博客
      • 宣布 PyCaret 1.0
      • 宣布 PyCaret 2.0
      • 关于 PyCaret 你不知道的 5 件事
      • 构建并部署你的第一个机器学习 Web 应用
      • 在 Power BI 中使用 PyCaret 构建自己的 AutoML
      • 在 Google Kubernetes 上部署机器学习管道
      • 在 AWS Fargate 上部署 PyCaret 和 Streamlit
      • 在 Power BI 中使用 PyCaret 构建异常检测器
      • 在 Google Kubernetes 上部署机器学习应用
      • 在 GKE 上部署机器学习管道
      • 在 AWS Fargate 上部署机器学习管道
      • 使用 Docker 在云端部署机器学习管道
      • 在 Power BI 中使用 PyCaret 进行聚类分析
      • 使用 ONNX Runtime 在边缘设备上部署 PyCaret 模型
      • GitHub 是你永远需要的最佳 AutoML
      • 在 AWS Fargate 上部署 PyCaret 和 Streamlit
      • 使用 PyCaret 和 MLflow 实现简易 MLOps
      • 在 Power BI 中使用 PyCaret 进行聚类分析
      • 在 Alteryx 中使用 PyCaret 实现机器学习
      • 在 KNIME 中使用 PyCaret 实现机器学习
      • 在 SQL 中使用 PyCaret 实现机器学习 第一部分
      • 在 Power BI 中使用 PyCaret 实现机器学习
      • 在 Tableau 中使用 PyCaret 实现机器学习
      • 使用 PyCaret 实现多个时间序列预测
      • 使用 PyCaret 预测客户流失
      • 使用 PyCaret (正确方式)预测潜在客户评分
      • 在 Python 中使用 PyCaret 实现 NLP 文本分类
      • 使用 PyCaret (正确方式)预测潜在客户评分
      • 使用 PyCaret 预测黄金价格崩盘
      • 使用机器学习预测黄金价格
      • PyCaret 2.1 功能摘要
      • 使用 PyCaret 将机器学习模型部署到 SQL Server
      • 使用 PyCaret 和 Gradio 提升你的机器学习能力
      • 时间序列 101 - 入门篇
      • 使用 PyCaret 进行时间序列异常检测
      • 使用 PyCaret 回归模型进行时间序列预测
      • 在 Power BI 中使用 PyCaret 进行主题建模
      • 使用 PyCaret 编写和训练自定义机器学习模型
      • 使用 PyCaret 和 Streamlit 构建和部署机器学习应用
      • PyCaret 2.3.6 发布了!了解新特性?
    • 📺视频
    • 🛩️速查表
    • ❓常见问题
    • 👩‍💻示例
  • 重要链接
    • 🛠️版本说明
    • ⚙️API 参考
    • 🙋 讨论
    • 📤问题
    • 👮 许可
  • 媒体
    • 💻Slack
    • 📺YouTube
    • 🔗领英
    • 😾GitHub
    • 🔅Stack Overflow
由 GitBook 提供支持
本页内容
  • 在 Power BI 中使用 PyCaret 2.0 构建自己的 AutoML
  • PyCaret 2.0
  • Microsoft Power BI
  • 什么是自动化机器学习?
  • PyCaret 如何工作?
  • 在我们开始之前
  • 👉 让我们开始吧
  • 设置业务背景
  • 目标
  • 👉 步骤 1 — 加载数据集
  • 👉 步骤 2 — 以 Python 脚本运行 AutoML
  • 示例仪表板
  • 👉 步骤 3 — 部署模型生成预测
  • 加载新数据集
  • 部署到 Power BI Service
  • 你可能也对此感兴趣
  • 重要链接
  • 想了解特定模块吗?

这有帮助吗?

  1. 学习 PYCARET
  2. 博客

在 Power BI 中使用 PyCaret 构建自己的 AutoML

上一页构建并部署你的第一个机器学习 Web 应用下一页在 Google Kubernetes 上部署机器学习管道

最后更新于 2 年前

这有帮助吗?

在 Power BI 中使用 PyCaret 2.0 构建自己的 AutoML

作者 Moez Ali

PyCaret — 一个开源、低代码的 Python 机器学习库

PyCaret 2.0

阅读本文后,你将学习如何在 Power BI 中实现以下内容

  • 设置 Python conda 环境并安装 pycaret==2.0。

  • 将新创建的 conda 环境与 Power BI 关联。

  • 在 Power BI 中构建你的第一个 AutoML 解决方案并在仪表板上展示性能指标。

  • 在 Power BI 中将你的 AutoML 解决方案生产化/部署。

Microsoft Power BI

什么是自动化机器学习?

自动化机器学习(AutoML)是自动化机器学习中耗时且重复性任务的过程。它允许数据科学家和分析师高效地构建机器学习模型,同时保持模型质量。任何 AutoML 解决方案的最终目标是根据某些性能标准确定最佳模型。

传统的机器学习模型开发过程需要大量资源,需要丰富的领域知识和时间来生成和比较几十个模型。通过自动化机器学习,你将能够轻松高效地加速获得可用于生产的机器学习模型所需的时间。

PyCaret 如何工作?

PyCaret 是用于监督和无监督机器学习的工作流自动化工具。它由六个模块组成,每个模块都有一套用于执行特定操作的函数。每个函数接受一个输入并返回一个输出,在大多数情况下是一个训练好的机器学习模型。第二次发布后可用的模块有

PyCaret 中的所有模块都支持数据准备(超过 25 种基本预处理技术,附带大量的未训练模型和自定义模型支持、自动超参数调优、模型分析和可解释性、自动模型选择、实验日志记录和简易的云部署选项。

“PyCaret 通过为业务分析师、领域专家、公民数据科学家和经验丰富的数据科学家提供免费、开源、低代码的机器学习解决方案,正在普及机器学习和高级分析的使用。”

在我们开始之前

环境设置

在我们开始在 Power BI 中使用 PyCaret 的机器学习功能之前,我们需要创建一个虚拟环境并安装 pycaret。这是一个三步过程

从开始菜单打开 **Anaconda Prompt** 并执行以下代码

conda create --name **myenv** python=3.7

在 Anaconda Prompt 中执行以下代码

pip install **pycaret==2.0**

创建的虚拟环境必须与 Power BI 关联。这可以通过 Power BI Desktop 中的全局设置(文件 → 选项 → 全局 → Python 脚本)完成。Anaconda 环境默认安装在

C:\Users*用户名*\AppData\Local\Continuum\anaconda3\envs\myenv

👉 让我们开始吧

设置业务背景

一家保险公司希望通过在住院时使用人口统计学和基本患者健康风险指标更好地预测患者费用来改善其现金流预测。

目标

训练并选择基于数据集中其他变量(即年龄、性别、bmi、子女、吸烟者和地区)预测患者费用的最佳回归模型。

👉 步骤 1 — 加载数据集

你可以通过 Power BI Desktop → 获取数据 → Web 直接从我们的 GitHub 加载数据集

在 Power Query 中创建一个重复数据集

👉 步骤 2 — 以 Python 脚本运行 AutoML

在 Power Query 中运行以下代码(转换 → 运行 Python 脚本)

**# import regression module**
from pycaret.regression import *

**# init setup**
reg1 = setup(data=dataset, target = 'charges', silent = True, html = False)

**# compare models**
best_model = compare_models()

**# finalize best model
**best = finalize_model(best_model)

**# save best model**
save_model(best, 'c:/users/moezs/best-model-power')

**# return the performance metrics df
**dataset = pull()

代码的前两行用于导入相关模块并初始化 setup 函数。setup 函数执行机器学习中必需的几个重要步骤,例如清洗缺失值(如果有)、将数据拆分为训练集和测试集、设置交叉验证策略、定义评估指标、执行特定于算法的转换等。

训练多个模型、比较并评估性能指标的神奇函数是 **compare_models**。它根据可在 compare_models 内定义的“**sort**”参数返回最佳模型。默认情况下,它在回归用例中使用“R2”,在分类用例中使用“Accuracy”。

其余行用于确定通过 compare_models 返回的最佳模型,并将其保存为本地目录中的 pickle 文件。最后一行返回包含已训练模型及其性能指标详细信息的 dataframe。

输出

仅用几行代码,我们训练了 20 多个模型,表格展示了基于 10 折交叉验证的性能指标。

表现最好的模型 Gradient Boosting Regressor 将与整个转换管道一起保存为本地目录中的 pickle 文件。该文件稍后可用于在新数据集上生成预测(参见下面的步骤 3)。

PyCaret 基于模块化自动化的理念工作。因此,如果你有更多资源和时间进行训练,可以扩展脚本以执行超参数调优、集成以及其他可用的建模技术。参见下面的示例

**# import regression module**
from pycaret.regression import *

**# init setup**
reg1 = setup(data=dataset, target = 'charges', silent = True, html = False)

**# compare models**
top5 = compare_models(n_select = 5)
results = pull()

**# tune top5 models
**tuned_top5 = [tune_model(i) for i in top5]

**# select best model
**best = automl()

**# save best model**
save_model(best, 'c:/users/moezs/best-model-power')

**# return the performance metrics df
**dataset = results

现在我们返回了前 5 个模型,而不是表现最好的那一个。然后我们创建了一个列表推导式(循环)来调优排名前列的候选模型的超参数,最后 **automl 函数**选择了表现最佳的单一模型,并将其保存为 pickle 文件(请注意,这次我们没有使用 **finalize_model**,因为 automl 函数返回的是已定型模型)。

示例仪表板

👉 步骤 3 — 部署模型生成预测

一旦我们将最终模型保存为 pickle 文件,就可以使用它来预测新数据集上的费用。

加载新数据集

为了演示目的,我们将再次加载相同的数据集,并从数据集中删除“charges”列。在 Power Query 中将以下代码作为 Python 脚本执行以获取预测结果

**# load functions from regression module**
from pycaret.regression import load_model, predict_model

**# load model in a variable
**model = load_model(‘c:/users/moezs/best-model-powerbi’)

**# predict charges
**dataset = predict_model(model, data=dataset)

输出

部署到 Power BI Service

当你将包含 Python 脚本的 Power BI 报告发布到服务时,这些脚本在通过本地数据网关刷新数据时也会执行。

使用这个轻量级的 Python 工作流自动化库,你可以实现无限可能。如果你觉得这有用,请不要忘记在我们的 GitHub 仓库上给我们 ⭐️。

你可能也对此感兴趣

重要链接

想了解特定模块吗?

点击下方链接查看文档和工作示例。

上周我们宣布了, 一个开源、低代码的 Python 机器学习库,可自动化机器学习工作流。它是一个端到端的机器学习和模型管理工具,可加速机器学习实验周期,帮助数据科学家更高效、更具生产力。

在本文中,我们提供了一个关于如何在 Power BI 中使用 PyCaret 构建自动化机器学习解决方案的分步教程,, 从而允许数据科学家和分析师在不产生额外许可或软件成本的情况下,为其仪表板添加一层机器学习功能。PyCaret 是一个开源且**免费使用**的 Python 库,它附带了大量为在 Power BI 中工作而构建的函数。

Power BI 是一个商业分析解决方案,可让你可视化数据并在组织内共享洞察,或将其嵌入到你的应用或网站中。在本教程中,我们将使用通过将 PyCaret 库导入 Power BI 来进行机器学习。

https://www.pycaret.org/guide

要了解有关 PyCaret 的更多信息,阅读我们的官方发布公告。

如果你想开始使用 Python,查看示例笔记本库以开始。

如果你是第一次使用 Python,安装 Anaconda Distribution 是最简单的入门方式。下载包含 Python 3.7 或更高版本的 Anaconda Distribution。

https://anaconda.net.cn/products/individual

步骤 1 — 创建 anaconda 环境

Anaconda Prompt — 创建环境

步骤 2 — 安装 PyCaret

安装可能需要 15-20 分钟。如果你在安装过程中遇到问题,请参阅我们的页面了解已知问题和解决方案。

步骤 3 — 在 Power BI 中设置 Python 目录

文件 → 选项 → 全局 → Python 脚本

()

数据集链接

Power BI Desktop → 获取数据 → Web
Power Query → 创建重复数据集
Power Query 中的脚本
Python 脚本输出
转换管道和模型已保存为 pickle 文件

示例仪表板已创建。PBIX 文件.

使用 PyCaret AutoML 结果创建的仪表板
Power Query 中的 predict_model 函数输出

要启用此功能,你必须确保你的个人网关所在机器上也安装了 Python 运行时及其依赖的 Python 包。注意,多用户共享的本地数据网关不支持 Python 脚本执行。阅读更多关于此的内容。

本教程中使用的 PBIX 文件已上传到此 GitHub 仓库

如果你想了解更多关于 PyCaret 2.0 的信息,请阅读此.

如果你之前使用过 PyCaret,你可能对当前版本感兴趣。

要了解更多 PyCaret 的信息,请关注我们和.

📖
PyCaret 2.0
Power BI
Power BI Desktop
分类
回归
聚类
异常检测
自然语言处理
关联规则挖掘
点击这里
点击这里
点击这里
✅
✅
GitHub
✅
数据源
https://raw.githubusercontent.com/pycaret/pycaret/master/datasets/insurance.csv
已上传到这里
点击这里
https://github.com/pycaret/pycaret-powerbi-automl
公告
版本说明
领英
YouTube
在 Power BI 中使用 PyCaret 实现机器学习
在 Power BI 中使用 PyCaret 构建你的第一个异常检测器
如何在 Power BI 中使用 PyCaret 实现聚类
在 Power BI 中使用 PyCaret 进行主题建模
博客
PyCaret 2.0 版本说明
用户指南 / 文档
Github
Stackoverflow
安装 PyCaret
Notebook 教程
贡献 PyCaret
分类
回归
聚类
异常检测
自然语言处理
关联规则挖掘