本例展示了如何使用潜在Dirichlet分配(LDA)主题模型和t-SNE图可视化文档的聚类。
一种潜在的Dirichlet分配(LDA)模型是一种主题模型,用于在文档集合中发现基础主题并推断主题中的词概率。每个主题词概率的向量表征主题。您可以通过比较每个文档的主题概率(也称为主题混合),使用LDA模型评估文档相似性。
加载LDA模型factoryReportsLDAModel
使用详细说明不同故障事件的工厂报告数据集对其进行培训。有关如何将LDA模型拟合到文本数据集合的示例,请参见使用主题模型分析文本数据.
负载factoryReportsLDAModelmdl
mdl=ldaModel,属性:NumTopics:7 WordConcentration:1 TopicConcentration:0.5755粒子topicprobability:[0.1587 0.1573 0.1551 0.1534 0.1340 0.1322 0.1093]文档topicprobability:[480×7 double]topicwordprobability:[158×7 double]词汇:[1×158字符串]TopicOrder:“初始拟合概率”FitInfo:[1×1结构]
使用单词云可视化主题。
numTopics=mdl.numTopics;图:平铺布局(“流动”)头衔(“LDA主题”)对于i=1:numTopics Nextile wordcloud(mdl,i);标题(“主题”+(一)终止
t-分布随机邻域嵌入(t-SNE)算法将高维向量投影到二维空间。这种嵌入使得可视化高维向量之间的相似性变得容易。通过根据t-SNE算法绘制文档主题混合,可以可视化相似文档的聚类。
将主题投射到文档主题概率
使用tsne
作用
XY=tsne(mdl.文档主题概率);
对于打印组,确定每个文档的顶部主题。
[~,TopTopTopics]=max(mdl.DocumentTopicProbabilities,[],2);
对于情节标签,找到每个主题的前三个单词。
对于i=1:numTopics top=topkwords(mdl,3,i);topWords(i)=连接(top.Word,", ");终止
使用gscatter
函数。指定top主题作为分组变量,并显示一个图例,其中包含每个主题的top单词。
图gscatter(XY(:,1),XY(:,2),主题)标题(“主题混合”)传说(topWords...位置=“南外”,...NumColumns=2)
t-SNE图突出显示了发生在原始高维数据中的簇。