Spettro clusterizzato

Sep 01 2020

Ho una tabella dei panda che contiene dati su diverse osservazioni, ognuna misurata in diverse lunghezze d'onda. Queste osservazioni sono diverse l'una dall'altra nel trattamento che hanno ricevuto. La tabella ha un aspetto simile a questo:

>>>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
...

Vorrei classificare le diverse osservazioni in base al loro spettro (le colonne numeriche).
Ho provato a eseguire PCA e dipingerlo in base al trattamento ottenuto dalle osservazioni e confrontarlo con i risultati di classificazioni come k-means e Spectral clustering, ma non sono sicuro di aver scelto i metodi giusti perché sempre come i cluster assomigliano troppo alla distanza euclidea e non sono sicuro che tengano conto dello spettro (ho usato tutte le colonne numeriche per la previsione).

Questo è per esempio il confronto tra i colori PCA + rispetto alla cllasificazione spettrale:
PCA:

classificazione (i punti situati secondo PCA1 PCA2 ma i colori sono secondo la classificazione:

come puoi vedere qui, sembra che la classificazione sia basata sulla distanza reale e vorrei qualcosa che tenga conto di tutti i valori numerici.

Quindi, sto cercando approfondimenti riguardo ad altri metodi di classificazione che potrebbero darmi risultati migliori o forse altre idee su come posso verificare se ci sono cluster all'interno dei miei dati basati sulle misurazioni in colonne diverse, come se potessi prevedere il trattamento dai cluster

Risposte

1 Tinu Sep 02 2020 at 04:14

Sembra un normale compito di classificazione supervisionato.

Hai provato anche altri metodi standard come Support Vector Machines, RandomForests, Gradient Boosting, kNN, Neural Networks ecc. O c'è una ragione particolare per cui hai provato solo metodi di clustering.

I metodi di clustering come kmeans o il clustering spettrale vengono solitamente utilizzati in un ambiente non supervisionato in cui le appartenenze a classi non sono disponibili. Spesso fanno alcune ipotesi sui dati che potrebbero essere violati, ad esempio kmeans assume cluster sferici, il che chiaramente non è il caso dei tuoi dati.