主要内容

使用LDA模型可视化文档集群

这个例子展示了如何使用Latent Dirichlet Allocation (LDA)主题模型和t-SNE图来可视化文档的集群。

潜在Dirichlet分配(LDA)模型是一种主题模型,它发现文档集合中的底层主题,并推断主题中的单词概率。每个主题的单词概率向量描述了主题的特征。您可以使用LDA模型通过比较每个文档的主题概率(也称为主题混合)来评估文档相似性。

负载LDA模型

加载LDA模型factoryReportsLDAModel它使用详细描述不同故障事件的工厂报告数据集进行培训。有关如何使LDA模型适合文本数据集合的示例,请参见使用主题模型分析文本数据

负载factoryReportsLDAModelmdl
mdl = ldaModel with properties: NumTopics: 7 WordConcentration: 1 TopicConcentration: 0.5755 corpustopicprobability: [0.1587 0.1573 0.1551 0.1534 0.1340 0.1322 0.1093] documenttopicprobability: [480×7 double] topicwordprobability: [158×7 double]

使用词汇云将主题形象化。

numTopics = mdl.NumTopics;图tiledlayout (“流”)标题(“LDA的话题”i = 1:numTopics nexttile wordcloud(mdl,i);标题(“主题”+ i)结束

使用t-SNE可视化文档集群

t分布随机邻居嵌入算法(t-SNE)将高维向量投影到二维空间。这种嵌入使得高维向量之间的相似性可视化变得容易。通过根据t-SNE算法绘制文档主题混合图,可以可视化相似文档的聚类。

项目的主题混合DocumentTopicProbabilties属性转换为二维空间tsne函数。

XY = tsne (mdl.DocumentTopicProbabilities);

对于情节组,确定每个文档的顶部主题。

[~, topTopics] = max (mdl.DocumentTopicProbabilities [], 2);

对于情节标签,找到每个主题的前三个单词。

i = 1:numTopics top = topkwords(mdl,3,i);topWords (i) =加入(顶部。词,", ");结束

使用。绘制投影主题混合图gscatter函数。指定顶部主题作为分组变量,并显示带有每个主题顶部单词的图例。

图gscatter (XY (: 1), XY (:, 2), topTopics)标题(“主题混合”)传说(topWords...位置=“southoutside”...NumColumns = 2)

t-SNE图突出显示了发生在原始高维数据中的簇。

另请参阅

|||

相关的话题