使用 PyCaret 在 Power BI 中进行主题建模
最后更新于
这有帮助吗?
最后更新于
这有帮助吗?
什么是自然语言处理?
什么是主题建模?
在 Power BI 中训练并实现潜在狄利克雷分布模型。
分析结果并在仪表盘中可视化信息。
在我们开始在 Power BI 中使用 PyCaret 的机器学习功能之前,我们必须创建一个虚拟环境并安装 pycaret。这是一个四步过程。
从开始菜单打开 Anaconda Prompt 并执行以下代码。
“powerbi” 是我们选择的环境名称。你可以随意命名。
在 Anaconda Prompt 中执行以下代码。
创建的虚拟环境必须与 Power BI 链接。这可以通过 Power BI Desktop 中的全局设置 (文件 → 选项 → 全局 → Python 脚本) 来完成。Anaconda 环境默认安装在以下路径:
C:\Users*username*\Anaconda3\envs\
为了执行 NLP 任务,你必须在 Anaconda Prompt 中执行以下代码来下载语言模型。
首先在 Anaconda Prompt 中激活你的 conda 环境。
下载英语语言模型。
自然语言处理 (NLP) 是计算机科学和人工智能的一个子领域,它关注计算机与人类语言之间的交互。特别是,NLP 涵盖了如何编程计算机来处理和分析大量自然语言数据的广泛技术。
NLP 驱动的软件在我们的日常生活中以各种方式帮助我们,你很可能在不知不觉中一直在使用它。一些示例包括:
个人助手:Siri、Cortana、Alexa。
自动完成:在搜索引擎中(例如:Google、Bing、百度、Yahoo)。
拼写检查:几乎无处不在,在你的浏览器、你的 IDE(例如:Visual Studio)、桌面应用(例如:Microsoft Word)中。
机器翻译:Google Translate。
文档摘要软件:Text compactor、Autosummarizer。
主题建模是一种统计模型,用于发现文本数据中的抽象主题。它是 NLP 中的众多实际应用之一。
主题模型是一种属于无监督机器学习的统计模型,用于发现文本数据中的抽象主题。主题建模的目标是自动在一组文档中找到主题/议题。
主题建模的一些常见用例包括:
摘要:通过将文档分类到主题来总结大量文本数据(其思想与聚类非常相似)。
探索性数据分析:用于了解客户反馈表、亚马逊评论、调查结果等数据。
特征工程:为监督机器学习实验(如分类或回归)创建特征。
有几种用于主题建模的算法。一些常见的算法包括潜在狄利克雷分布 (LDA)、潜在语义分析 (LSA) 和非负矩阵分解 (NMF)。每种算法都有其数学细节,本教程不会涵盖。我们将使用 PyCaret 的 NLP 模块在 Power BI 中实现潜在狄利克雷分布 (LDA) 模型。
为了从主题建模中获得有意义的结果,文本数据在输入算法之前必须经过处理。这在几乎所有 NLP 任务中都很常见。文本预处理与机器学习中处理结构化数据(行和列中的数据)时常用的经典预处理技术不同。
Kiva 是一家国际非营利组织,于 2005 年在旧金山成立。其使命是扩大对服务不足社区的金融服务,以帮助他们发展。
在本教程中,我们将使用来自 Kiva 的开放数据集,该数据集包含 6,818 名已批准贷款申请人的贷款信息。该数据集包括贷款金额、国家/地区、性别以及借款人提交的一些文本数据(即申请)。
我们的目标是分析“en”列中的文本数据,以找到抽象主题,然后使用这些主题评估特定主题(或特定类型的贷款)对违约率的影响。
现在你已经设置了 Anaconda 环境,了解了主题建模,并掌握了本教程的业务背景,让我们开始吧。
第一步是将数据集导入 Power BI Desktop。你可以使用 Web 连接器加载数据。(Power BI Desktop → 获取数据 → 从 Web)。
为了在 Power BI 中训练主题模型,我们需要在 Power Query 编辑器中执行 Python 脚本(Power Query 编辑器 → 转换 → 运行 Python 脚本)。将以下代码作为 Python 脚本运行。
PyCaret 中有 5 个现成可用的主题模型。
默认情况下,PyCaret 会训练一个包含 4 个主题的 潜在狄利克雷分布 (LDA) 模型。默认值可以轻松更改。
要更改模型类型,请使用 get_topics() 函数中的 model 参数。
要更改主题数量,请使用 num_topics 参数。
查看包含 6 个主题的非负矩阵分解模型示例代码。
输出
包含主题权重的列会附加到原始数据集。应用查询后,Power BI 中的最终输出如下所示。
一旦你在 Power BI 中获得了主题权重,这里有一个如何在仪表盘中将其可视化以生成洞察的示例。
如果你想了解更多关于使用 PyCaret 在 Jupyter notebook 中实现主题建模的信息,请观看这个 2 分钟的视频教程。
从第一个版本 1.0.0 开始,PyCaret 提供了以下模块供使用。点击下方链接查看文档和 Python 工作示例。
PyCaret Notebook 入门教程
在我们的中,我们演示了如何通过将 PyCaret 集成到 Power BI 中来实现聚类分析,从而使分析师和数据科学家能够在无需额外许可成本的情况下为其报告和仪表盘添加机器学习层。
在这篇文章中,我们将看到如何使用 PyCaret 在 Power BI 中实现主题建模。如果你之前没有听说过 PyCaret,请阅读这篇以了解更多信息。
如果你以前使用过 Python,你的计算机上很可能已经安装了 Anaconda Distribution。如果没有,下载 Python 3.7 或更高版本的 Anaconda Distribution。
步骤 1 — 创建一个 anaconda 环境
步骤 2 — 安装 PyCaret
安装可能需要 15-20 分钟。如果你在安装过程中遇到问题,请参阅我们的页面,了解已知问题和解决方法。
步骤 3 — 在 Power BI 中设置 Python 目录
步骤 4 — 安装语言模型
如果你对 LDA 算法的技术细节感兴趣,可以阅读.
PyCaret 通过应用超过 15 种技术自动预处理文本数据,例如停用词移除、分词、词形还原、二元/三元词提取等。如果你想了解 PyCaret 中所有可用的文本预处理功能,.
csv 文件链接
你可以从我们的.
如果你对学习更多关于主题建模的知识感兴趣,你还可以查看我们的 NLP 101基础入门教程。
关注我们的并订阅我们的频道,了解更多关于 PyCaret 的信息。
PyCaret 是一个开源项目。欢迎大家贡献。如果你想贡献,请随时参与。接受 dev-1.0.1 分支上带有单元测试的拉取请求 (Pull requests)。
请在我们的给我们 ⭐️。
Medium