Ich untersuche derzeit die Visualisierung hochdimensionaler Daten mit t-SNE. Ich habe einige Daten mit gemischten binären und kontinuierlichen Variablen und die Daten scheinen die binären Daten viel zu leicht zu gruppieren. Dies wird natürlich für skalierte Daten (zwischen 0 und 1) erwartet: Der euklidische Abstand ist zwischen binären Variablen immer am größten / kleinsten. Wie soll man mit gemischten binären / kontinuierlichen Datensätzen mit t-SNE umgehen? Sollen wir die Binärspalten löschen? Gibt es da ein anderes was metric
wir benutzen können?
Betrachten Sie als Beispiel diesen Python-Code:
x1 = np.random.rand(200)
x2 = np.random.rand(200)
x3 = np.r_[np.ones(100), np.zeros(100)]
X = np.c_[x1, x2, x3]
# plot of the original data
plt.scatter(x1, x2, c=x3)
# … format graph
Meine Rohdaten sind also:
Dabei ist die Farbe der Wert des dritten Merkmals (x3). In 3D liegen die Datenpunkte in zwei Ebenen (x3 = 0-Ebene und x3 = 1-Ebene).
Ich führe dann t-SNE durch:
tsne = TSNE() # sci-kit learn implementation
X_transformed = StandardScaler().fit_transform(X)
tsne = TSNE(n_components=2, perplexity=5)
X_embedded = tsne.fit_transform(X_transformed)
mit der resultierenden Handlung:
und die Daten wurden natürlich von x3 geclustert. Mein Bauchgefühl ist, dass wir eine Entfernungsmetrik, die für binäre Features nicht gut definiert ist, löschen sollten, bevor wir ein t-SNE ausführen. Dies wäre eine Schande, da diese Features nützliche Informationen für die Erzeugung der Cluster enthalten können.
Antworten:
Haftungsausschluss: Ich habe nur tangentiales Wissen zu diesem Thema, aber da sonst niemand geantwortet hat, werde ich es versuchen
Entfernung ist wichtig
Jede auf Entfernungen basierende Technik zur Reduzierung der Dimensionalität (tSNE, UMAP, MDS, PCoA und möglicherweise andere) ist nur so gut wie die von Ihnen verwendete Abstandsmetrik. Wie @amoeba richtig hervorhebt, kann es keine Einheitslösung geben. Sie benötigen eine Abstandsmetrik, die erfasst, was Sie für wichtig in den Daten halten, dh, dass Zeilen, die Sie als ähnlich betrachten, einen geringen Abstand und Zeilen haben, die Sie würden Betrachten Sie verschiedene haben große Entfernung.
Wie wählt man eine gute Entfernungsmetrik? Lassen Sie mich zunächst eine kleine Ablenkung vornehmen:
Ordination
Lange vor den glorreichen Tagen des modernen maschinellen Lernens haben Community-Ökologen (und wahrscheinlich auch andere) versucht, schöne Diagramme für die explorative Analyse mehrdimensionaler Daten zu erstellen. Sie nennen den Prozess Ordination und es ist ein nützliches Stichwort für in der Ökologie Literatur geht zurück mindestens bis zu den 70er Jahren zu suchen und immer noch stark heute gehen.
Wichtig ist, dass Ökologen über sehr unterschiedliche Datensätze verfügen und sich mit Gemischen von binären, ganzzahligen und reellen Merkmalen befassen (z. B. Vorhandensein / Fehlen von Arten, Anzahl der beobachteten Proben, pH-Wert, Temperatur). Sie haben viel Zeit damit verbracht, über Entfernungen und Transformationen nachzudenken, damit Ordinationen gut funktionieren. Ich verstehe das Gebiet nicht sehr gut, aber zum Beispiel die Überprüfung der Beta-Diversität von Legendre und De Cáceres als Varianz der Community-Daten: Unähnlichkeitskoeffizienten und Partitionierung zeigen eine überwältigende Anzahl möglicher Entfernungen, die Sie möglicherweise überprüfen möchten.
Mehrdimensionale Skalierung
Das Werkzeug für die Ordination ist die mehrdimensionale Skalierung (MDS), insbesondere die nichtmetrische Variante (NMDS), die Sie zusätzlich zu t-SNE ausprobieren sollten. Ich weiß nichts über die Python-Welt, aber die R-Implementierung in
metaMDS
Funktion desvegan
Pakets macht viele Tricks für Sie (z. B. mehrere Läufe ausführen, bis zwei ähnliche gefunden werden).Dies ist umstritten, siehe Kommentare: Das Schöne an MDS ist, dass es auch die Features (Spalten) projiziert, sodass Sie sehen können, welche Features die Dimensionsreduzierung vorantreiben. Dies hilft Ihnen bei der Interpretation Ihrer Daten.
Denken Sie daran, dass t-SNE als Instrument zur Ableitung von Verständnis kritisiert wurde, z. B. diese Untersuchung seiner Fallstricke. Ich habe gehört, dass UMAP einige der Probleme löst, habe aber keine Erfahrung mit UMAP. Ich bezweifle auch nicht, dass ein Teil des Grundes, warum Ökologen NMDS verwenden, Kultur und Trägheit ist, vielleicht sind UMAP oder t-SNE tatsächlich besser. Ich weiß es ehrlich gesagt nicht.
Rollen Sie Ihre eigene Distanz aus
Ein Wort der Vorsicht
Die ganze Zeit sollten Sie bedenken, dass Sie, da Sie so viele Regler zum Stimmen haben, leicht in die Falle des Stimmens geraten können, bis Sie sehen, was Sie sehen wollten. Dies ist bei explorativen Analysen nur schwer vollständig zu vermeiden, Sie sollten jedoch vorsichtig sein.
quelle
metaMDS
Plots sowohl Beispiele als auch Features ist (siehe z. B. diese Vignette: cran.r-project.org/web/packages/vegan/vignettes/). intro-vegan.pdf )vegan
Paket dort tut, aber MDS / NMDS ist eine nichtlineare und nichtparametrische Methode (genau wie t-SNE), und es gibt keine "interne" Möglichkeit, die ursprünglichen Features an MDS-Dimensionen anzupassen. Ich kann mir vorstellen, dass sie Korrelationen zwischen Originalmerkmalen und MDS-Dimensionen berechnen. In diesem Fall kann dies für jede Einbettung einschließlich t-SNE erfolgen. Wäre interessant zu wissen, was genauvegan
macht.