Clusterize Spectrum
Eu tenho uma mesa de pandas que contém dados sobre diferentes observações, cada uma foi medida em diferentes comprimentos de onda. Essas observações são diferentes entre si no tratamento que receberam. A tabela é semelhante a esta:
>>>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
...
Gostaria de classificar as diferentes observações com base em seu espectro (as colunas numéricas).
Tentei executar o PCA e pintá-lo de acordo com o tratamento que as observações tiveram e compará-lo com os resultados de classificações como k-médias e agrupamento espectral, mas não tenho certeza se escolhi os métodos corretos porque parece o tempo todo, como se os aglomerados fossem muito parecidos com a distância euclidiana e não tenho certeza se eles levam em consideração o espectro (usei todas as colunas numéricas para a previsão).
Isto é, por exemplo, a comparação entre as cores PCA + em comparação com a cllasificação espectral:
PCA:
classificação (os pontos localizados de acordo com PCA1 PCA2, mas as cores estão de acordo com a classificação:
como você pode ver aqui, parece que a classificação é baseada na distância real e eu gostaria de algo que levasse em consideração todos os valores numéricos.
Então, estou procurando por insights sobre outros métodos de classificação que poderiam me dar melhores resultados ou talvez outras idéias de como posso verificar se há clusters dentro de meus dados com base nas medições em colunas diferentes, como se eu pudesse prever o tratamento dos clusters
Respostas
Isso soa como uma tarefa normal de classificação supervisionada.
Você já tentou outros métodos padrão como Support Vector Machines, RandomForests, Gradient Boosting, kNN, Neural Networks etc. também ou há uma razão particular pela qual você tentou apenas métodos de agrupamento.
Métodos de agrupamento como kmeans ou agrupamento espectral são geralmente usados em um ambiente não supervisionado, onde associações de classe não estão disponíveis. Freqüentemente, eles fazem certas suposições sobre os dados que podem ser violados, por exemplo, kmeans assume clusters esféricos, o que claramente não é o caso de seus dados.