文档
  • PyCaret 3.0
  • 入门
    • 💻安装
    • 🚀快速入门
    • ⭐教程
    • 📶模块
    • ⚙️数据预处理
      • 数据准备
      • 缩放和转换
      • 特征工程
      • 特征选择
      • 其他设置参数
    • 💡函数
      • 初始化
      • 训练
      • 优化
      • 分析
      • 部署
      • 其他
  • 学习 PYCARET
    • 📖博客
      • 宣布 PyCaret 1.0
      • 宣布 PyCaret 2.0
      • 关于 PyCaret 你不知道的 5 件事
      • 构建并部署你的第一个机器学习 Web 应用
      • 在 Power BI 中使用 PyCaret 构建你自己的 AutoML
      • 在 Google Kubernetes 上部署 ML Pipeline
      • 在 AWS Fargate 上部署 PyCaret 和 Streamlit
      • 在 Power BI 中使用 PyCaret 实现异常检测器
      • 在 Google Kubernetes 上部署 ML 应用
      • 在 GKE 上部署机器学习 Pipeline
      • 在 AWS Fargate 上部署机器学习 Pipeline
      • 使用 Docker 在云端部署 ML Pipeline
      • 在 Power BI 中使用 PyCaret 进行聚类分析
      • 使用 ONNX Runtime 在边缘设备上部署 PyCaret 模型
      • GitHub 是你所需要的最佳 AutoML
      • 在 AWS Fargate 上部署 PyCaret 和 Streamlit
      • 使用 PyCaret 和 MLflow 轻松实现 MLOps
      • 在 Power BI 中使用 PyCaret 进行聚类分析
      • 在 Alteryx 中使用 PyCaret 实现机器学习
      • 在 KNIME 中使用 PyCaret 实现机器学习
      • 在 SQL 中使用 PyCaret 实现机器学习 第 I 部分
      • 在 Power BI 中使用 PyCaret 实现机器学习
      • 在 Tableau 中使用 PyCaret 实现机器学习
      • 使用 PyCaret 进行多元时间序列预测
      • 使用 PyCaret 预测客户流失
      • 使用 PyCaret 预测潜在客户得分(正确方法)
      • 使用 PyCaret 在 Python 中进行 NLP 文本分类
      • 使用 PyCaret 预测潜在客户得分(正确方法)
      • 使用 PyCaret 预测黄金价格暴跌
      • 使用机器学习预测黄金价格
      • PyCaret 2.1 功能摘要
      • 使用 PyCaret 将 ML 模型部署到 SQL Server
      • 使用 PyCaret 和 Gradio 加速你的 ML
      • 时间序列 101 - 入门级
      • 使用 PyCaret 进行时间序列异常检测
      • 使用 PyCaret 回归进行时间序列预测
      • 在 Power BI 中使用 PyCaret 进行主题建模
      • 使用 PyCaret 编写和训练自定义 ML 模型
      • 使用 PyCaret 和 Streamlit 构建并部署 ML 应用
      • PyCaret 2.3.6 来了!了解新特性?
    • 📺视频
    • 🛩️速查表
    • ❓常见问题
    • 👩‍💻示例
  • 重要链接
    • 🛠️发行说明
    • ⚙️API 参考
    • 🙋 讨论
    • 📤问题
    • 👮 许可证
  • 媒体
    • 💻Slack
    • 📺YouTube
    • 🔗LinkedIn
    • 😾GitHub
    • 🔅Stack Overflow
由 GitBook 提供支持
本页内容
  • 如何在 Power BI 中使用 PyCaret 实现聚类
  • 本教程的学习目标
  • 开始之前
  • 环境设置
  • 什么是聚类?
  • 聚类类型
  • 设置业务背景
  • 👉 开始吧
  • 1. 获取数据
  • 2. 模型训练
  • 3. 仪表板
  • 👉 在生产环境中实现聚类
  • 预先训练模型
  • 使用预训练模型
  • 使其在 Power BI Service 中工作
  • PyCaret 1.0.1 即将发布!
  • 重要链接
  • 想了解某个特定模块?
  • 另请参阅
  • 您想贡献吗?

这有帮助吗?

  1. 学习 PYCARET
  2. 博客

在 Power BI 中使用 PyCaret 进行聚类分析

上一篇使用 Docker 在云端部署 ML Pipeline下一篇使用 ONNX Runtime 在边缘设备上部署 PyCaret 模型

上次更新于 2 年前

这有帮助吗?

如何在 Power BI 中使用 PyCaret 实现聚类

作者:Moez Ali

Power BI 中的聚类仪表板

本教程的学习目标

  • 什么是聚类?聚类类型。

  • 在 Power BI 中训练并实现无监督聚类模型。

  • 分析结果并在仪表板中可视化信息。

  • 如何在 Power BI 生产环境中部署聚类模型?

开始之前

环境设置

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

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

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

在 Anaconda Prompt 中执行以下代码

pip install pycaret

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

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

什么是聚类?

聚类是一种将具有相似特征的数据点分组的技术。这些分组对于探索数据、识别模式和分析数据子集非常有用。将数据组织成簇有助于识别数据中的潜在结构,并在许多行业中得到应用。聚类的一些常见业务用例包括

✔ 用于营销目的的客户细分。

✔ 用于促销和折扣的客户购买行为分析。

✔ 在流行病爆发(如 COVID-19)中识别地理群集。

聚类类型

鉴于聚类任务的主观性,有各种适合不同类型问题的算法。每种算法都有自己的规则以及计算簇背后的数学原理。

本教程是关于使用名为 PyCaret 的 Python 库在 Power BI 中实现聚类分析。关于这些算法的具体算法细节和背后的数学原理超出了本教程的范围。

设置业务背景

在本教程中,我们将使用世界卫生组织全球卫生支出数据库中当前的卫生支出数据集。该数据集包含 2000 年至 2017 年间 200 多个国家的卫生支出占国民生产总值 (GDP) 的百分比。

我们的目标是使用 K-Means 聚类算法来查找此数据中的模式和组。

👉 开始吧

既然你已经设置好 Anaconda 环境、安装了 PyCaret,了解了聚类分析的基础知识,并且掌握了本教程的业务背景,现在就开始吧。

1. 获取数据

第一步是将数据集导入 Power BI Desktop。你可以使用 Web 连接器加载数据。(Power BI Desktop → 获取数据 → 从 Web)。

2. 模型训练

要在 Power BI 中训练聚类模型,我们需要在 Power Query 编辑器中执行 Python 脚本(Power Query 编辑器 → 转换 → 运行 Python 脚本)。将以下代码作为 Python 脚本运行

from **pycaret.clustering** import *
dataset = **get_clusters**(dataset, num_clusters=5, ignore_features=['Country'])

我们使用 ignore\_features 参数忽略了数据集中的“Country”列。您可能出于多种原因不想使用某些列来训练机器学习算法。

PyCaret 允许您隐藏而不是删除数据集中的不需要的列,因为您可能在后续分析中需要这些列。例如,在这种情况下,我们不希望使用“Country”进行算法训练,因此将其放在 ignore\_features 参数下传递。

PyCaret 中有超过 8 种可直接使用的聚类算法。

默认情况下,PyCaret 训练一个具有 4 个簇的 **K-Means 聚类模型**。默认值可以轻松更改

  • 要更改模型类型,请使用 **get\_clusters()** 中的 *model* 参数。

  • 要更改簇的数量,请使用 *num\_clusters* 参数。

请参阅具有 6 个簇的 **K-Modes 聚类**示例代码。

from **pycaret.clustering **import *
dataset = **get_clusters**(dataset, model='kmodes', num_clusters=6, ignore_features=['Country'])

输出

包含簇标签的新列被附加到原始数据集。然后将所有年份列*取消透视*以对数据进行规范化,以便在 Power BI 中进行可视化。

这是最终输出在 Power BI 中的样子。

3. 仪表板

在 Power BI 中获得簇标签后,这里有一个如何在仪表板中可视化它以生成洞察的示例

👉 在生产环境中实现聚类

上面展示的是在 Power BI 中实现聚类的一种简单方法。然而,需要注意的是,上面展示的方法会在 Power BI 数据集每次刷新时重新训练聚类模型。这可能会带来两个问题

  • 当模型用新数据重新训练时,簇标签可能会改变(例如:之前被标记为簇 1 的一些数据点在重新训练时可能会被标记为簇 2)

  • 你不想每天花费数小时时间重新训练模型。

在 Power BI 中实现聚类的一种更有效的方式是使用预训练模型来生成簇标签,而不是每次都重新训练模型。

预先训练模型

你可以使用任何集成开发环境 (IDE) 或 Notebook 来训练机器学习模型。在此示例中,我们使用 Visual Studio Code 训练了一个聚类模型。

然后将训练好的模型保存为 pickle 文件,并导入到 Power Query 中生成簇标签。

如果您想了解更多关于如何在 Jupyter Notebook 中使用 PyCaret 实现聚类分析,请观看这个 2 分钟的视频教程

使用预训练模型

将以下代码作为 Python 脚本执行,以从预训练模型中生成标签。

from **pycaret.clustering **import *
dataset = **predict_model**('c:/.../clustering_deployment_20052020, data = dataset)

其输出将与我们上面看到的相同。不同之处在于,使用预训练模型时,标签是在新数据集上使用相同模型生成的,而不是重新训练模型。

使其在 Power BI Service 中工作

将 .pbix 文件上传到 Power BI service 后,还需要几个步骤才能实现机器学习 pipeline 与数据 pipeline 的无缝集成。其中包括

PyCaret 1.0.1 即将发布!

重要链接

想了解某个特定模块?

截至第一个版本 1.0.0,PyCaret 提供了以下模块可供使用。点击下面的链接查看文档和 Python 中的工作示例。

另请参阅

PyCaret Notebook 入门教程

您想贡献吗?

在我们的中,我们演示了如何在 Power BI 中构建异常检测器,通过与 PyCaret 集成,使得分析师和数据科学家能够在他们的报告和仪表板中添加机器学习层,而无需额外的许可费用。

在这篇文章中,我们将看到如何使用 PyCaret 在 Power BI 中实现聚类分析。如果你之前没有听说过 PyCaret,请阅读这篇以了解更多信息。

如果你以前使用过 Python,很可能你的电脑上已经安装了 Anaconda Distribution。如果没有,下载 Python 3.7 或更高版本的 Anaconda Distribution。

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

步骤 1 — 创建一个 anaconda 环境

步骤 2 — 安装 PyCaret

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

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

文件 → 选项 → 全局 → Python 脚本
Ghosal A., Nandy A., Das A.K., Goswami S., Panday M. (2020) A Short Review on Different Clustering Techniques and Their Applications.

在本教程中,我们将使用 K-Means 算法,它是最简单、最流行的无监督机器学习算法之一。如果您想了解更多关于 K-Means 的信息,可以阅读.

样本数据点
Power BI Desktop → 获取数据 → 其他 → Web

csv 文件链接

Power Query 编辑器(转换 → 运行 Python 脚本)
聚类结果(执行 Python 代码后)
最终输出(点击表格后)
Power BI Desktop 中的结果(应用查询后)
仪表板摘要页
仪表板详细信息页

你可以从我们的.

在 Visual Studio Code 中训练模型
保存为 pickle 文件的聚类 Pipeline

**为数据集启用计划刷新** — 要为包含带有 Python 脚本数据集的工作簿启用计划刷新,请参阅,其中还包含有关 **个人网关** 的信息。

**安装个人网关** — 你需要在文件所在且安装了 Python 的机器上安装 **个人网关**;Power BI 服务必须能够访问该 Python 环境。你可以了解更多关于如何.

如果您有兴趣了解更多关于聚类分析的信息,请查看我们的.

我们收到了社区的巨大支持和反馈。我们正在积极改进 PyCaret,并准备下一个版本。**PyCaret 1.0.1 将会更大、更好**。如果您想分享您的反馈并帮助我们进一步改进,您可以在网站上或在我们的或页面留言。

关注我们的并订阅我们的频道,了解更多关于 PyCaret 的信息。

PyCaret 是一个开源项目。欢迎大家贡献。如果您想贡献,请随时处理。在 dev-1.0.1 分支上,带有单元测试的 Pull 请求会被接受。

请在我们的上给我们 ⭐️,如果您喜欢 PyCaret。

Medium

LinkedIn

Twitter

📖
最新文章
公告
点击这里
✅
✅
GitHub
✅
这篇论文
源数据
https://github.com/pycaret/powerbi-clustering/blob/master/clustering.csv
GitHub
配置计划刷新
安装和配置个人网关
Notebook 教程
填写此表格
GitHub
LinkedIn
LinkedIn
Youtube
用户指南 / 文档
GitHub 仓库
安装 PyCaret
Notebook 教程
为 PyCaret 做贡献
分类
回归
聚类
异常检测
自然语言处理
关联规则挖掘
聚类
异常检测
自然语言处理
关联规则挖掘
回归
分类
开放问题
GitHub 仓库
https://medium.com/@moez_62905/
https://www.linkedin.com/in/profile-moez/
https://twitter.com/moezpycaretorg1