2012-12-28 5 views
0

Je veux créer un tracé en 5 dimensions en matlab. J'ai deux fichiers dans mon espace de travail. l'un est des données (150 * 4). Dans ce fichier, j'ai 150 données et chacune a 4 caractéristiques. Puisque je veux les classer, j'ai un autre fichier appelé "labels" (150 * 1) qui inclut une étiquette pour chaque donnée dans les fichiers de données. Autrement dit, l'étiquette sont la classe de données et je classe 3: 1,2,3 Je veux tracer cette classification, mais je ne peux pas ...Tracé en 5 dimensions dans MATLAB pour la classification

Naris

+0

Comment voulez-vous exactement que les cinq dimensions apparaissent, et qu'est-ce qui fait que vous ne pouvez pas? Si vous obtenez une erreur, veuillez spécifier le message d'erreur, sinon essayez de publier un petit extrait pour montrer les données que vous voulez tracer (par exemple 'rand (10,2,2,2,2)') –

+0

mes données sont en un fichier Excel. chaque rangée est un échantillon avec 4 caractéristiques (colonnes). et j'ai 150 données (lignes). – user1934193

+0

J'ai un autre fichier Excel qui a 150 lignes et chaque ligne montre l'étiquette de la classe pour chaque donnée. J'ai 3 étiquettes (3 classes): 1,2,3. maintenant je veux tracer mes données par un point pour chaque donnée qui a une couleur (par exemple: red. green.blue) Naris – user1934193

Répondre

1

Vous pouvez utiliser scatter3 pour tracer vos données, en utilisant trois caractéristiques de data que les dimensions, la quatrième que la couleur, et la classe comme différents marqueurs

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 

Lorsque vous utilisez la couleur pour représenter l'une des caractéristiques, je vous suggère d'utiliser un bon colormap, tels que pmkmp à partir de l'échange de fichiers Matlab au lieu de la valeur par défaut jet.

Vous pouvez également utiliser, par ex. mdscale pour transformer vos données de plus grande dimension en 2D pour un traçage standard.

+1

Cela continue sur un écran 2-D, donc vous obtenez seulement 4 dimensions. La taille du marqueur peut être ajoutée en cinquième. –

+0

@BenVoigt: oui, mais vous pouvez faire pivoter l'intrigue pour que votre cerveau rétablisse la troisième dimension. La taille du marqueur peut être difficile à interpréter. – Jonas

1

Vous devez réfléchir au type d'intrigue que vous voulez voir. 5 dimensions sont difficiles à visualiser, à moins bien sûr que votre moniteur hyper-dimensionnel fonctionne. La mienne n'est jamais revenue de l'atelier de réparation. (Cela devrait m'apprendre à l'envoyer.)

Sérieusement, les données en 5 dimensions peuvent vraiment être difficiles à visualiser. La solution habituelle consiste à tracer des points dans un espace de 2 jours (les coordonnées d'écran d'une figure, par exemple, ce que fait essentiellement l'intrigue). Ensuite, utilisez différents attributs des points tracés pour montrer les trois autres dimensions. C'est ce que les visages de Chernoff font pour vous. Si vous avez la boîte à outils des statistiques, alors il semble que glyphplot vous aidera. Ou vous pouvez tracer en 3-d, puis utiliser deux attributs pour montrer les deux autres dimensions.

Une autre idée consiste à tracer des points en 2-d pour montrer deux des dimensions, puis utiliser la couleur pour indiquer les trois autres dimensions. Ainsi, le RVB attribué à ce marqueur sera défini par les trois autres dimensions. Bien sûr, cela signifie que vous devez être capable de visualiser ce que représentent les coordonnées RVB d'une couleur, vous devez donc comprendre la couleur telle qu'elle est représentée dans un espace RVB.

0

Il existe un modèle appelé SOM (Self-organizing Maps) qui construit une image 2D d'un espace multidimensionnel.