Ich habe Stichproben von zwei Klassen, die Vektoren im hochdimensionalen Raum sind, und ich möchte sie in 2D oder 3D darstellen.
Ich kenne mich mit Techniken zur Reduzierung der Dimensionalität aus, aber ich brauche ein wirklich einfaches und benutzerfreundliches Tool (in Matlab, Python oder einer vorgefertigten EXE-Datei).
Ich frage mich auch, ob die Darstellung in 2D "sinnvoll" sein wird. (Zum Beispiel, wie sich zwei Klassen schneiden oder trennbar sein können).
Wie wäre es mit einem Parrellel-Koordinaten-Plot?
http://www.mathworks.com/help/stats/parallelcoords.html
quelle
Der klassische Ansatz wäre die Verwendung von PCA ( Principal Component Analysis ), um eine lineare Dimensionsreduktion durchzuführen. Im Wesentlichen projiziert dies Ihre Daten auf einen Raum mit niedrigeren Dimensionen (im 2D-Fall ist dies einfach eine Ebene), wobei die Varianz der Daten so weit wie möglich erhalten bleibt.
Das Ausführen von PCA umfasst normalerweise das Ausführen eines einzelnen Befehls in den meisten Programmiersprachen, daher ist dies sehr einfach.
Sie sollten sich daran erinnern, dass Ihre Daten möglicherweise nicht in zwei oder drei Dimensionen genau dargestellt werden können. PCA gibt Ihnen automatisch eine quantitative Schätzung: Es gibt an, wie viel Prozent der Varianz von der resultierenden niedrigdimensionalen Darstellung erfasst werden. Dies gibt Ihnen ein Gefühl dafür, wie viele Informationen Sie verlieren, wenn Sie sich diese vereinfachte Visualisierung ansehen.
quelle
Nur um meine 5 Cent hinzuzufügen. Die Python-Bibliothek Scikit-Learn bietet hierfür viele Algorithmen:
http://scikit-learn.org/stable/auto_examples/manifold/plot_compare_methods.html#example-manifold-plot-compare-methods-py
quelle
Die Wahrscheinlichkeit einer Klassenmitgliedschaft ist eine großartige Methode zur Reduzierung der Dimension. Die Wahrscheinlichkeit einer Mitgliedschaft in A gegen B liegt zwischen 0 und 1. Sie können eine grafische Darstellung derp ( A | xich) vs. p ( B | xich) für alle Ihre Proben.
Betrachten Sie das folgende Beispiel für Anzeigeoptionen. http://www.mathworks.com/help/stats/gmdistribution.cluster.html
quelle
Neben dem Vorschlag von @ juampa sollten Sie auch NeRV (Neighbor Retrieval Visualizer) ausprobieren , einen "prinzipiellen Ansatz zum Abrufen von Informationen zur nichtlinearen Dimensionsreduktion ", und SNE / t-SNE kann als Sonderfall von NeRV angesehen werden. Der Hauptpunkt von NeRV besteht darin, einen Kompromiss zwischen Rückruf und Präzision zwischen dem ursprünglichen Raum und der Anzeige zu minimieren . NeRV wird als in C ++ geschriebenes Befehlszeilentool bereitgestellt.
Ein Demobild von ihrer Website: Das linke Ergebnis betont mehr den Rückruf (weniger "Fehlschläge"), während das rechte mehr die Präzision (weniger "falsche Nachbarn") betont.
quelle
Wenn Sie keine Einwände gegen kommerzielle Software haben, können Sie die Software VisuMap ausprobieren, die Dutzende linearer und nichtlinearer Mapping-Algorithmen für hochdimensionale Daten implementiert, einschließlich Methoden wie PCA, LDA, SMACOF, tSNE, CCA, Sammon, Kohonen Map usw.
quelle