使用LDA模型可视化文档簇
此示例显示了如何使用潜在的Dirichlet分配(LDA)主题模型和T-SNE图可视化文档的聚类。
潜在的DIRICHLET分配(LDA)模型是一个主题模型,它在文档集合中发现了基本主题,并在主题中提出了单词概率。每个主题概率的向量是主题的特征。您可以使用LDA模型来评估文档相似性,通过比较每个文档主题概率(也称为主题混合物)。
负载LDA型号
加载LDA模型Factory Reportsldamodel
使用详细介绍不同故障事件的工厂报告的数据集进行了培训。有关如何将LDA模型拟合到文本数据集的示例,请参见使用主题模型分析文本数据。
加载Factory ReportsldamodelMDL
mdl =具有属性的LDAMODEL:NUMTOPICS:7 WORDCONCENTRATION:1 topicconcencentration:0.5755 PolcustopicProbobabilitions:[0.1587 0.1573 0.1551 0.1551 0.1534 0.1340 0.1340 0.13222.1093] documentTopicprobobibility dougnertobilities:[480 doubly 7 doubly 78 doubly Intrubiboly] indobiboly:[480 Doubly Introbiul indimabiboly;主题订单:“初始合适性” fitinfo:[1×1 struct]
使用Word Clouds可视化主题。
numtopics = mdl.numtopics;图Tiledlayout(“流动”) 标题(“ LDA主题”)为了i = 1:NumTopics NextTile WordCloud(MDL,i);标题(“话题 ”+ i)结尾
使用T-SNE可视化文档群集
T分布的随机邻居嵌入(T-SNE)算法将高维矢量投射到2-D空间。这种嵌入使得可以轻松地可视化高维矢量之间的相似性。通过根据T-SNE算法绘制文档主题混合物,您可以可视化相似文档的聚类。
将主题混合在DocumentTopicProbabilties
使用的属性使用tsne
功能。
xy = tsne(mdl.documenttopicprobibilities);
对于绘图组,请确定每个文档的首要主题。
[〜,toptopics] = max(mdl.documenttopicprobibilities,[],2);
对于情节标签,请找到每个主题的前三个单词。
为了i = 1:numtopics top = topkwords(mdl,3,i);topwords(i)= join(top.word,“,”);结尾
使用GSCATTER
功能。将最高主题指定为分组变量,并显示每个主题的顶级单词的传奇。
图GSCATTER(XY(:,1),XY(:,2),Toptopics)标题(“主题混合物”)图例(topsworks,...位置=“ Southoutside”,,,,...numcolumns = 2)
T-SNE图突出了原始高维数据中发生的簇。
也可以看看
象征性文档
|fitlda
|ldamodel
|WordCloud