哪些观察与 sklearn 包实现的 LDA 中的主题模型相关联
Which observations are associated to the topic model in LDA with sklearn package implementation
我已经成功地实施了这个 example in Sklearn 并且我可以很好地看到主题,但是我如何恢复到形成这些主题的观察结果?我知道这可以使用 SAS Enterprise Miner,但我不知道如何在 sklearn 中执行此操作。
任何帮助,将不胜感激!谢谢。
当您在处理数据之前加载数据时,方法 fetch_20newsgroups
正是这样做的。
Here 是函数文档的 link,如果您想了解它是如何工作的话。
基本上,当您使用 sklearn
datasets 时,您导入模块 datasets
并调用一些从本地数据集目录中提取数据的函数。
这里是您可以找到数据的地方:
它包含一个 data
目录和一些 csv 文件:
NMF(非负矩阵分解)将一个正矩阵分解为两个正矩阵的乘积,如下所示。
在你的例子中,V
是从你的文本语料库中获得的 TF-IDF 矩阵。 NMF 将其分解为 W
,称为 topic 矩阵,因为每列代表一个主题(每行是该主题的代表词)和 H
,其中称为 activation 矩阵 (weights).
因此,您的每个文本语料库都是您的主题的线性组合。所以你不能真正谈论主题成员——哪个文本属于哪个主题——因为它可以在一定程度上属于所有主题。
我已经成功地实施了这个 example in Sklearn 并且我可以很好地看到主题,但是我如何恢复到形成这些主题的观察结果?我知道这可以使用 SAS Enterprise Miner,但我不知道如何在 sklearn 中执行此操作。 任何帮助,将不胜感激!谢谢。
当您在处理数据之前加载数据时,方法 fetch_20newsgroups
正是这样做的。
Here 是函数文档的 link,如果您想了解它是如何工作的话。
基本上,当您使用 sklearn
datasets 时,您导入模块 datasets
并调用一些从本地数据集目录中提取数据的函数。
这里是您可以找到数据的地方:
它包含一个 data
目录和一些 csv 文件:
NMF(非负矩阵分解)将一个正矩阵分解为两个正矩阵的乘积,如下所示。
在你的例子中,V
是从你的文本语料库中获得的 TF-IDF 矩阵。 NMF 将其分解为 W
,称为 topic 矩阵,因为每列代表一个主题(每行是该主题的代表词)和 H
,其中称为 activation 矩阵 (weights).
因此,您的每个文本语料库都是您的主题的线性组合。所以你不能真正谈论主题成员——哪个文本属于哪个主题——因为它可以在一定程度上属于所有主题。