文档
  • 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 App
      • 在 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 进行机器学习 第一部分
      • 在 Power BI 中使用 PyCaret 进行机器学习
      • 在 Tableau 中使用 PyCaret 进行机器学习
      • 使用 PyCaret 进行多元时间序列预测
      • 使用 PyCaret 预测客户流失
      • 使用 PyCaret 预测潜在客户分数(正确方法)
      • 在 Python 中使用 PyCaret 进行 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 进行聚类分析

上一个使用 PyCaret 和 MLflow 实现简易 MLOps下一个在 Alteryx 中使用 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*username*\AppData\Local\Continuum\anaconda3\envs\myenv

什么是聚类?

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

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

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

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

聚类类型

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

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

设置业务背景

在本教程中,我们将使用世界卫生组织全球卫生支出数据库中的当前卫生支出数据集。该数据集包含 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 服务后,还需要几个步骤才能实现机器学习流程与您的数据流程的无缝集成。其中包括

PyCaret 1.0.1 即将发布!

重要链接

想了解某个特定模块吗?

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

另请参阅

PyCaret Notebook 入门教程

你想贡献吗?

在我们的中,我们展示了如何通过将 PyCaret 集成到 Power BI 中来构建异常检测器,从而允许分析师和数据科学家在其报告和仪表板中添加一层机器学习功能,而无需额外许可费用。

在这篇文章中,我们将介绍如何使用 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 中训练模型
聚类 Pipeline 保存为 pickle 文件

启用数据集的计划刷新 — 要为包含 Python 脚本的数据集工作簿启用计划刷新,请参阅,其中还包括关于 Personal Gateway 的信息。

安装 Personal Gateway — 您需要在安装了文件和 Python 的机器上安装 Personal Gateway;Power BI 服务必须能够访问该 Python 环境。您可以获得更多关于如何.

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

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

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

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

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

Medium

LinkedIn

Twitter

📖
上一篇博文
公告
点击此处
✅
✅
GitHub
✅
这篇论文
源数据
https://github.com/pycaret/powerbi-clustering/blob/master/clustering.csv
GitHub
配置计划刷新
安装并配置 Personal Gateway
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