在 Power BI 中使用 PyCaret 进行主题建模
在 Power BI 中使用 PyCaret 进行主题建模
作者:Moez Ali
在我们的上一篇文章中,我们演示了如何通过将 PyCaret 与 Power BI 集成,实现在报告和仪表板中添加机器学习层,从而使分析师和数据科学家能够在不增加额外许可费用的情况下进行聚类分析。
在本文中,我们将看到如何使用 PyCaret 在 Power BI 中实现主题建模。如果您之前没有听说过 PyCaret,请阅读这篇公告以了解更多信息。
本教程的学习目标
- 什么是自然语言处理?
- 什么是主题建模?
- 在 Power BI 中训练和实现潜在狄利克雷分配模型。
- 分析结果并在仪表板中可视化信息。
开始之前
如果您之前使用过 Python,那么您的计算机上可能已经安装了 Anaconda 发行版。如果没有,请点击这里下载带有 Python 3.7 或更高版本的 Anaconda 发行版。
环境设置
在开始使用 PyCaret 的机器学习功能之前,我们需要创建一个虚拟环境并安装 pycaret。这是一个四步的过程:
✅ 第一步 - 创建一个 Anaconda 环境
从开始菜单打开**Anaconda Prompt**并执行以下代码:
conda create --name powerbi python=3.7
"powerbi" 是我们选择的环境名称。您可以使用任何您喜欢的名称。
✅ 第二步 - 安装 PyCaret
在 Anaconda Prompt 中执行以下代码:
pip install pycaret
安装可能需要 15-20 分钟。如果安装出现问题,请参阅我们的GitHub页面上的已知问题和解决方法。
✅第三步 - 在 Power BI 中设置 Python 目录
创建的虚拟环境必须与 Power BI 关联。这可以通过 Power BI Desktop 中的全局设置完成(文件 → 选项 → 全局 → Python 脚本)。Anaconda 环境默认安装在以下位置:
C:\Users*用户名*\Anaconda3\envs\
✅第四步 - 安装语言模型
为了执行 NLP 任务,您必须在 Anaconda Prompt 中执行以下代码来下载语言模型。
首先在 Anaconda Prompt 中激活您的 conda 环境:
conda activate powerbi
下载英语语言模型:
python -m spacy download en_core_web_sm
python -m textblob.download_corpora
什么是自然语言处理?
自然语言处理(NLP)是计算机科学和人工智能的一个子领域,涉及计算机与人类语言之间的交互。特别是,NLP 包括广泛的技术,用于编程计算机以处理和分析大量的自然语言数据。
NLP 软件在我们的日常生活中以各种方式帮助我们,很可能您甚至在不知情的情况下就在使用它。一些例子包括:
- 个人助手:Siri、Cortana、Alexa。
- 自动补全:在搜索引擎中(如 Google、Bing、百度、雅虎)。
- 拼写检查:几乎在任何地方,例如浏览器、IDE(如 Visual Studio)、桌面应用程序(如 Microsoft Word)。
- 机器翻译:Google 翻译。
- 文档摘要软件:Text compactor、Autosummarizer。
主题建模是一种在文本数据中发现抽象主题的统计模型。它是自然语言处理中的许多实际应用之一。
什么是主题建模?
主题建模是一种统计模型,属于无监督机器学习,用于在文本数据中发现抽象主题。主题建模的目标是自动找到一组文档中的主题/主题。
主题建模的一些常见用例包括:
- 主题建模 是通过将文档分类为主题来总结大量文本数据的方法(这个想法与聚类非常相似)。
- 探索性数据分析 用于了解数据,如客户反馈表、亚马逊评论、调查结果等。
- 特征工程 是为监督式机器学习实验(如分类或回归)创建特征的过程。
用于主题建模的算法有几种。一些常见的算法包括潜在狄利克雷分配(LDA)、潜在语义分析(LSA)和非负矩阵分解(NMF)。每种算法都有其自己的数学细节,在本教程中不会涉及。我们将使用 PyCaret 的 NLP 模块在 Power BI 中实现一个潜在狄利克雷分配(LDA)模型。
如果您有兴趣了解 LDA 算法的技术细节,可以阅读这篇论文。
用于主题建模的文本预处理
为了从主题建模中获得有意义的结果,在将文本数据提供给算法之前,必须对其进行处理。这在几乎所有 NLP 任务中都很常见。文本的预处理与处理结构化数据(行和列中的数据)时通常使用的经典预处理技术不同。
PyCaret 通过应用超过 15 种技术(如停用词去除、分词、词形还原、二元组/三元组提取等)自动预处理文本数据。如果您想了解 PyCaret 中所有文本预处理功能的更多信息,请点击这里。
设定业务背景
Kiva 是一个成立于 2005 年的国际非营利组织,总部位于旧金山。其使命是扩大对未开发社区的金融获取,以帮助他们蓬勃发展。