主要内容

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

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

latent Dirichlet allocation (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]词汇:[1×158 string] TopicOrder: 'initial- match -probability' FitInfo: [1×1 struct]

使用词语云将主题可视化。

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) =加入(顶部。词,”、“);结束

方法绘制投影的主题混合物g箭偶函数。指定最热门的主题作为分组变量,并显示每个主题的最热门单词的图例。

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

T-SNE绘图突出显示原始高维数据中发生的群集。

另请参阅

|||

相关话题