0

matlabで5次元プロットを作成したいと思います。ワークスペースに2つのファイルがあります。1つはデータ(150 * 4)です。このファイルには、150個のデータがあり、それぞれに4つの機能があります。それらを分類したいので、データファイル内の各データのラベルを含む「labels」(150 * 1)という別のファイルがあります。言い換えると、ラベルはデータのクラスであり、3つのクラスがあります:1,2,3この分類をプロットしたいのですが、できません...

ナリス

4

3 に答える 3

1

ディメンションとしてscatter3の3つの機能、色としての4番目の機能、および異なるマーカーとしてのクラスを使用して、データをプロットするために使用できます。data

figure,hold on
markerList = 'o*+';
for iClass = 1:nClasses
    classIdx = dataClass==iClass;
    scatter3(data(classIdx,1),data(classIdx,2),data(classIdx,3),[],data(classIdx,4),...
       'marker',markerList(iClass));
end

機能の1つを表すために色を使用する場合は、デフォルトの代わりに、MatlabFileExchangejetのpmkmpなどの適切なカラーマップを使用することをお勧めします。

または、たとえばmdscaleを使用して、標準プロット用に高次元データを2Dに変換することもできます。

于 2012-12-28T13:08:45.197 に答える
1

どのようなプロットを見たいかを考える必要があります。もちろん、超次元モニターが機能していない限り、5次元を視覚化することは困難です. 私のは修理工場から戻ってきませんでした。(それはそれを送るために私に教えるべきです。)

真剣に、5 次元データを視覚化するのは本当に難しい場合があります。通常の解決策は、2 次元空間に点をプロットすることです (たとえば、図の画面座標。これは、基本的に plot が行うことです)。次に、プロットされた点のさまざまな属性を使用して、他の 3 次元を表示します。これが、チェルノフの顔があなたのためにすることです。統計ツールボックスがある場合は、glyphplot が役に立ちます。または、3 次元でプロットしてから、2 つの属性を使用して他の 2 つの次元を表示することもできます。

もう 1 つのアイデアは、2 次元で点をプロットして 2 つの次元を示し、色を使用して他の 3 つの次元を示すことです。したがって、そのマーカーに割り当てられた RGB は、他の 3 つの次元によって定義されます。もちろん、これは、色の RGB 座標が表すものを視覚化できなければならないことを意味するため、RGB 空間で表される色を理解する必要があります。

于 2012-12-28T15:20:11.700 に答える
0

多次元空間の 2 次元イメージを構築する SOM (Self-organizing Maps) と呼ばれるモデルがあります。

于 2012-12-29T01:10:18.473 に答える