高次元データの視覚化


11

高次元空間のベクトルである2つのクラスのサンプルがあり、それらを2Dまたは3Dでプロットしたい。

次元削減の手法については知っていますが、本当にシンプルで使いやすいツール(MATLAB、Python、またはビルド済みの.exe)が必要です。

また、2Dでの表現は「意味のある」ものになるのでしょうか。(たとえば、2つのクラスがどのように交差するか、または分離可能か)。

回答:


8

あなたはtSNEを試すことができます。使い方はとても簡単です。MatlabとPythonに加えて、Octaveでも動作します。ガイドを見て、1分以内に最初のプロットを取得してください


10

高次元データを視覚化するための事前構築ツールの1つがggobiです。ポイントを色付けしてグループを表し、高次元を2次元表現に減らすためのオプションがいくつかあります。特に優れたツールの1つは、基本的にデータクラウドを多次元で回転させ、回転の2D投影のアニメーションを表示する2Dグランドツアーです。興味深いパターンが表示されたら、回転を遅くしたり一時停止したりできます。


また、R.と連携確かに非常に良いツール、
イヴ・


2

古典的なアプローチは、線形次元削減を実行するためにPCA(主成分分析)を使用することです。基本的に、これはデータの分散を可能な限り維持しながら、データをより低い次元の空間(2Dの場合、これは単なる平面です)に投影します。

PCAの実行には通常、ほとんどのプログラミング言語で単一のコマンドを実行する必要があるため、非常に簡単です。

データを2次元または3次元で正確に表現できない可能性があることを覚えておいてください。PCAは、これの定量的な見積もりを自動的に提供します。これにより、結果として得られる低次元の表現によってキャプチャされた分散のパーセントがわかります。これにより、この単純化された視覚化を見ると、どれだけの情報を失うのかがわかります。




1

@juampaの提案に加えて、NeRV(Neighbor Retrieval Visualizer)も試してみてください。これは、非線形次元削減への原理的な情報検索ベースのアプローチ」であり、SNE / t-SNEはNeRVの特殊なケースと見なすことができます。NeRVの主なポイントは、再現と、元のスペースとディスプレイとの間の精度のトレードオフを最小限に抑えることです。NeRVは、C ++で記述されたコマンドラインツールとして提供されます。

ウェブサイトのデモ画像:左側の結果は再現率を重視(「ミス」が少ない)、右側の結果は精度を重視(「誤った隣人」が少ない)。

ここに画像の説明を入力してください


1

商用ソフトウェアに異論がない場合は、PCA、LDA、SMACOF、tSNE、CCA、Sammon、Kohonen Mapなどのメソッドを含む、高次元データ用の数十の線形および非線形マッピングアルゴリズムを実装するソフトウェアVisuMapを試すことができます。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.