Interpretando o resultado do agrupamento k-means em R

12

Eu estava usando a kmeansinstrução de R para executar o algoritmo k-means no conjunto de dados de íris de Anderson. Eu tenho uma pergunta sobre alguns parâmetros que obtive. Os resultados são:

Cluster means:
  Sepal.Length Sepal.Width Petal.Length Petal.Width
1     5.006000    3.428000     1.462000    0.246000

Nesse caso, o que significa "Cluster significa"? É a média das distâncias de todos os objetos dentro do cluster?

Também na última parte eu tenho:

Within cluster sum of squares by cluster:
[1] 15.15100 39.82097 23.87947
 (between_SS / total_SS =  88.4 %)

Esse valor de 88,4%, qual poderia ser a sua interpretação?

James
fonte
4
Por favor , não cruze a postagem! stackoverflow.com/q/14524818/429846
Reinstala Monica - G. Simpson
Não, é apenas a média de todos os objetos dentro do primeiro cluster (3 no total). Você pode obter 88,4% por iris.km $ betweenss / iris.km $ totss
dfhgfh
Leia qualquer artigo sobre k-means . Então deve ser óbvio o que os meios clsuter são ... K-means não se baseiam na distância . Minimiza as variações conhecidas como: "soma dos desvios ao quadrado".
Quit - Anony-Mousse
Suponha que sua média seja 0. Faça as contas. Verifique se a suposição acima faz diferença. Viva feliz depois disso. Lucro!
mia

Respostas:

23

Se você calcular a soma das distâncias ao quadrado de cada ponto de dados para a média global da amostra, obtém total_SS. Se, em vez de calcular uma média global da amostra (ou 'centróide'), você calcular uma por grupo (aqui, existem três grupos) e depois calcular a soma das distâncias quadradas dessas três médias à média global, você obtém between_SS. (Ao calcular isso, você multiplica a distância ao quadrado de cada média pela média global pelo número de pontos de dados que ela representa.)

Se não houvesse um padrão discernível de agrupamento, as três médias dos três grupos estariam próximas da média global e between_SSseriam uma fração muito pequena de total_SS. O oposto é verdadeiro aqui, o que mostra que os pontos de dados se agrupam perfeitamente no espaço quadridimensional de acordo com as espécies.

F. Tusell
fonte
14

K-means não é um algoritmo de cluster baseado em distância .

K-significa procura a soma mínima de atribuição de quadrados , ou seja, minimiza a variação não normalizada (= total_SS) atribuindo pontos aos centros de cluster.

Para que o k-means converja, você precisa de duas condições:

  • reatribuir pontos reduz a soma dos quadrados
  • recálculo da média reduz a soma dos quadrados

Como existe apenas um número finito de combinações, você não pode reduzir infinitamente esse valor e o algoritmo deve convergir em algum momento para um ótimo local .

i(xiμji)2j. Matematicamente, atribuir pela menor soma de quadrados é igual a atribuir por fecha a distância euclidiana ao quadrado, que (se você desperdiçar os ciclos da CPU para computação sqrt) é igual à atribuição mínima da distância euclidiana. Portanto, a intuição de atribuir cada ponto à média mais próxima está correta, mas não o que o problema de otimização faz.

between_SS provavelmente é a soma ponderada dos quadrados entre duas médias, para medir o quão bem os centros de cluster estão separados (nota: centros de cluster, ele não compara os clusters reais - tecnicamente, a célula Voronoi do cluster toca a célula Voronoi dos clusters vizinhos).

Observe que com k-significa que você pode melhorar a qualidade ingênua do cluster aumentando k. A qualidade medida aqui é um valor matemático, que pode não corresponder aos requisitos do usuário. A íris é, na verdade, um exemplo bastante bom, onde o k-significa frequentemente converge para resultados menos que satisfatórios, mesmo considerando as informações externas de que deve haver exatamente três grupos.

Se você quiser uma variação baseada em distância de k-médias , veja k-medoids . Aqui a convergência é garantida substituindo a média pelo medóide:

  • Cada objeto é atribuído ao cluster mais próximo (por uma medida de distância arbitrária)
  • O centro do cluster é atualizado para o objeto mais central do cluster, ou seja, com a menor distância média para todos os outros.

Em cada etapa, a soma das distâncias diminui; existe um número finito de combinações; portanto, o algoritmo deve terminar em um mínimo local.

Possui QUIT - Anony-Mousse
fonte
ponto interessante +1
Cam.Davidson.Pilon
1
Por que não há computação à distância aqui (em kmeans)? Para calcular a variação, é necessário calcular a distância de cada elemento em relação à média, para que haja claramente o cálculo da distância envolvido, não é?
Julian
A variação geralmente não é definida em termos de distância, mas como "valor esperado do desvio ao quadrado da média".
QuIT - Anony-Mousse 15/09/17