Eu tenho um conjunto de dados, quero criar clusters nesses dados com base em apenas uma variável (não há valores ausentes). Eu quero criar 3 clusters com base nessa variável.
Qual algoritmo de clustering usar, k-means, EM, DBSCAN etc.?
Minha principal pergunta é: em que circunstâncias devo usar k-means em EM ou EM em k-means?
clustering
Todos
fonte
fonte
Respostas:
O algoritmo K-means e o algoritmo EM serão bastante semelhantes para o cluster 1D.
Em K-means, você começa com um palpite sobre onde estão os meios e atribui cada ponto ao cluster com a média mais próxima; em seguida, recalcula os meios (e variações) com base nas atribuições atuais de pontos, atualiza a atribuição de pontos e atualiza o significado ...
No EM, você também começaria com um palpite sobre onde estão as médias, depois calcula o valor esperado das atribuições (essencialmente a probabilidade de cada ponto estar em cada cluster) e atualiza as médias (e variações) estimadas usando os valores esperados como pesos, calcule novos valores esperados, calcule novos meios, ...
A principal diferença é que a atribuição de pontos a clusters em médias K é tudo ou nada, onde EM fornece proporções / probabilidade de pertencer a um grupo (um ponto pode ser visto como tendo 80% de probabilidade de pertencer ao grupo A, 18% de probabilidade pertencer ao grupo B e 2% de probabilidade de pertencer ao grupo C). Se houver muita separação entre os grupos, os 2 métodos darão resultados bastante semelhantes. Mas se houver uma justa quantidade de sobreposição, o EM provavelmente fornecerá resultados mais significativos (ainda mais se a variação / desvio padrão for de interesse). Mas se você só gosta de atribuir uma associação ao grupo sem se importar com os parâmetros, então K-means é provavelmente mais simples.
Por que não fazer as duas coisas e ver como as respostas são diferentes? se forem semelhantes, escolha a mais simples; se forem diferentes, decida comparar o agrupamento com os dados e o conhecimento externo.
fonte
O EM é melhor que o K-mean em termos de resultados.
K-significa, no entanto, tem um tempo de execução mais rápido.
Eles produzirão resultados semelhantes se as matrizes de desvio / covariância padrão forem aproximadamente iguais. Se você suspeitar que isso seja verdade, use k-means.
DBSCAN é usado quando os dados não são gaussianos. Se você estiver usando dados unidimensionais, isso geralmente não é aplicável, pois uma aproximação gaussiana é normalmente válida em 1 dimensão.
fonte
Outra maneira simples é basicamente usar a classificação da matriz 1D: ou seja, itere sobre cada ponto e obtenha os valores que estão a uma distância mínima dele nas direções positiva e negativa. Por exemplo:
vai dar:
Quais pontos, que os itens próximos a um ponto específico estão basicamente no seu grupo. A única coisa a considerar nesta técnica é a variável k, que é o tamanho fixo do cluster :-).
fonte
Se houver apenas uma variável, não há necessidade de armazenamento em cluster. Você pode agrupar facilmente suas observações com base na distribuição da variável.
Ou estou faltando alguns pontos aqui?
fonte