2012-04-07 45 views
5

我有數千個數據點,每個數據點有50個維度。我想看看使用java的數據的稀疏性。是否有任何Java軟件包/方法來繪製這樣的高維數據。在java中繪製高維數據

+0

無論語言如何,您如何預測您想要可視化50維數據? – 2012-04-07 14:46:47

+2

你能一次感知多少個維度? – 2012-04-07 14:46:53

+0

我想在二維中看到,是的,但是我問的是,是否有任何工具可以進行降維並將其繪製在2D中,以便我可以看到不同數據點之間的關係。 – thetna 2012-04-07 14:54:06

回答

1

你需要尋找的是multidimensional scaling。它基本上降低了數據空間的維度,試圖保持距離。所以你需要一個MDS軟件包,將你的數據減少到2D(或3D),並使用2D/3D圖形庫(swing,jogl)繪製它們。

它可能工作與否,取決於數據點的數量和它們所處的空間。對於50個維度而言,您可能運氣不好,但這取決於它。

快速谷歌的Java實現了我this

有R中一個包,所以你可以使用它。

+0

我想繪製這些點並查看它們之間的關係。哪些數據點相關,哪些數據點不相似。如果不相似,它們有多遠。 – thetna 2012-04-07 15:55:59

+0

這正是mds所做的。它將您的觀點和維度降低,因此您可以使用您選擇的任何圖形庫來繪製它們。 – soulcheck 2012-04-07 15:56:59

+0

我的意思是在二維空間有點,你甚至可以使用鞦韆來繪製它們 – soulcheck 2012-04-07 15:57:47