Spektrum gruppieren

Sep 01 2020

Ich habe eine Pandas-Tabelle, die Daten über verschiedene Beobachtungen enthält, jede wurde in unterschiedlicher Wellenlänge gemessen. Diese Beobachtungen unterscheiden sich in der Behandlung, die sie erhalten haben. Der Tisch sieht ungefähr so ​​aus:

>>>name  treatment 410.1 423.2 445.6 477.1 485.2 ....
0 A1       0       0.01  0.02  0.04  0.05   0.87
1 A2       1       0.04  0.05  0.05  0.06  0.04
2 A3       2       0.03  0.02  0.03 0.01   0.03
3 A4       0       0.02  0.02  0.04  0.05  0.91
4 A5       1       0.05  0.06  0.04  0.05  0.02
...

Ich möchte die verschiedenen Beobachtungen anhand ihres Spektrums (der numerischen Spalten) klassifizieren.
Ich habe versucht, PCA auszuführen und es gemäß der Behandlung zu malen, die die Beobachtungen erhalten haben, und es mit den Ergebnissen von Klassifikationen wie k-means und Spectral Clustering zu vergleichen, aber ich bin nicht sicher, ob ich die richtigen Methoden wähle, weil es so scheint Die ganze Zeit wie die Cluster sind zu sehr wie die euklidische Entfernung und ich bin nicht sicher, ob sie das Spektrum berücksichtigen (ich habe alle numerischen Spalten für die Vorhersage verwendet).

Dies ist zum Beispiel der Vergleich zwischen den PCA + -Farben im Vergleich zur spektralen Klassifizierung:
PCA:

Klassifizierung (die Punkte befinden sich gemäß PCA1 PCA2, aber die Farben entsprechen der Klassifizierung:

Wie Sie hier sehen können, scheint die Klassifizierung auf der tatsächlichen Entfernung zu basieren, und ich möchte etwas, das alle numerischen Werte berücksichtigt.

Ich bin also auf der Suche nach Erkenntnissen über andere Klassifizierungsmethoden, die mir bessere Ergebnisse liefern könnten, oder über andere Ideen, wie ich anhand der Messungen in verschiedenen Spalten überprüfen kann, ob meine Daten Cluster enthalten, z. B. ob ich die Behandlung vorhersagen könnte aus den Clustern

Antworten

1 Tinu Sep 02 2020 at 04:14

Dies klingt nach einer normalen überwachten Klassifizierungsaufgabe.

Haben Sie auch andere Standardmethoden wie Support Vector Machines, RandomForests, Gradient Boosting, kNN, Neuronale Netze usw. ausprobiert oder gibt es einen bestimmten Grund, warum Sie nur Clustering-Methoden ausprobiert haben?

Clustering-Methoden wie kmeans oder spektrale Clustering werden normalerweise in einer unbeaufsichtigten Umgebung verwendet, in der keine Klassenmitgliedschaften verfügbar sind. Oft machen sie bestimmte Annahmen über die Daten, gegen die möglicherweise verstoßen wird, z. B. kmeans geht von sphärischen Clustern aus, was bei Ihren Daten eindeutig nicht der Fall ist.