以2D可视化多维数据(LSI)


11

我正在使用潜在语义索引来查找文档之间的相似性(谢谢,JMS!

降维后,我尝试了k均值聚类将文档分组为聚类,效果很好。但是我想进一步介绍一下,并将文档可视化为一组节点,其中任意两个节点之间的距离与它们的相似度成反比(高度相似的节点靠在一起)。

令我惊讶的是,由于我的数据> 2维,因此我无法将相似度矩阵准确地简化为2维图。所以我的第一个问题是:是否有标准方法可以做到这一点?

我可以将数据缩小为二维,然后将它们绘制为X轴和Y轴,这对于一组约100-200个文档就足够了吗?如果这是解决方案,那么从一开始就将我的数据缩减为2维更好,还是有什么方法可以从我的多维数据中选择两个“最佳”维?

我正在使用Python和gensim库,如果有区别的话。


为什么需要减少尺寸?要构建所需的图形,只需要边的长度与文档之间的距离成比例的边。根据用于k均值聚类的指标,您已经拥有了这一点。
阿曼2013年

@Aman无法在2D平面(图形)上显示> 2个文档之间的相似性。当然,我可以用基于k均值距离的间距绘制点A和B。但是,当我需要根据到A和B的距离来绘制点C时,通常在2D空间中没有满足所有成对关系的点。
杰夫,

Answers:


7

这就是MDS(多维缩放)的目的。简而言之,如果给定相似矩阵M,则想找到最接近的近似值,其中排名为2。这可以通过计算的SVD来完成。,其中。小号=XX小号中号=VΛV=XXX=VΛ1个/2

现在,假设是置换的,因此特征值按递减顺序排列,则的前两列是您希望在平面中的嵌入。ΛX

MDS有很多可用的代码(如果scipy没有某些版本,我会感到惊讶)。无论如何,只要您可以在python中访问某些SVD例程,就可以进行设置。


1
我认为LDA会更好。当您通过SVD时,PCA不会保留任何群集(类)区分性信息,这就是OP的要求。
朱巴卜2015年

0

有一个名为ggobi的软件可以为您提供帮助。它使您可以探索多维伪空间。它主要用于数据浏览,但其界面非常友好且“即用”!

您只需要CSV格式(在RI中,通常只使用带有默认参数的write.csv)或XML文件(此格式可让您更好地控制;我通常将表格保存为CSV,然后将其导出到具有ggobi的XML并手动进行编辑例如更改某些因素的顺序)。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.