可视化高维数据


11

我有两个类别的样本,它们是高维空间中的向量,我想将它们绘制为2D或3D。

我了解降维技术,但是我需要一个非常简单易用的工具(在matlab,python或预构建的.exe中)。

我也想知道2D表示会“有意义”吗?(例如,两个类如何相交或可分离)。

Answers:


8

您可以尝试一下tSNE。使用起来非常简单。除了Matlab和Python,它还可以与Octave一起使用。看看指南,可以在一分钟内得到第一张图。


10

一种用于可视化高维数据的预构建工具是ggobi。它使您可以为点着色以表示组,然后有一些选项可以将高维缩小为二维表示。一个特别好的工具是2D全景浏览,它基本上可以在多个维度上旋转数据云,并向您显示旋转2D投影的动画。看到有趣的图案时,您可以减慢或暂停旋转。


一个非常好的工具的确,这还与R.
伊夫·


2

经典方法是使用PCA(主成分分析)以执行线性降维。本质上,这会将您的数据投影到较低维度的空间(在2D情况下,这只是一个平面),同时保留尽可能多的数据差异。

运行PCA通常涉及使用大多数编程语言执行单个命令,因此非常简单。

您应该记住,您的数据可能无法以2或3维准确表示。PCA会自动为您提供定量估计:它会告诉您所产生的低维表示形式捕获了多少百分比的差异。通过查看此简化的可视化效果,您会感觉丢失了多少信息。




1

除了@juampa的建议外,您还应该尝试NeRV(邻居检索可视化器),它“ 是一种基于原则的基于信息检索的非线性维方法 ”,SNE / t-SNE可以看作是NeRV的特例。NeRV的主要目的是最小化召回率和原始空间与显示器之间的精度之间的折衷。NeRV作为用C ++编写的命令行工具提供。

他们网站上的演示图片:左边的结果重点在于召回率(“失误”少),而右边的结果重点在于召回率(“假邻居”少)。

在此处输入图片说明


1

如果您不反对商业软件,可以尝试使用VisuMap软件,该软件为高维数据实现了数十种线性和非线性映射算法,包括PCA,LDA,SMAMACF,tSNE,CCA,Sammon,Kohonen Map等方法。

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.