Neste capítulo, vamos passar pelo algoritmo K-means, qual é o algoritmo de agrupamento mais comum que você provavelmente usará na prática. Agora, o nome K-means provavelmente lhe dará um pouco de intuição sobre como esse algoritmo funciona, mas vamos analisá-lo em detalhes. Então, primeiro, você escolhe um certo número de centróides. Portanto, o número de clusters que você escolher é algo que vamos analisar com um pouco mais de detalhes, mas uma das coisas que você deve reconhecer é que você realmente precisa especificar o número de clusters. Então você tem que decidir qual valor K assume. Então são dois clusters, cinco clusters, 15 clusters? Esta é uma escolha que você precisará fazer quando você está executando o K-means em seus dados. Então começamos escolhendo um número específico de centroides para iniciar. Agora, você pode escolher o posicionamento dos centróides ser ao acaso, ou você pode usar um algoritmo específico para decidir por onde começar seus centróides. Normalmente, escolhendo-os com um algoritmo específico faz um trabalho melhor em encontrar clusters estáveis, mas você pode não ter o luxo de ser capaz de executar algo que pode levar muito tempo em seus dados primeiro. Então você pode simplesmente escolhê-los aleatoriamente. Então, para cada caso, o que queremos fazer é colocar esse caso no cluster com o centróide mais próximo. Então você olha para os dados nesse caso específico, determinar de qual centroide está mais próximo, e, em seguida, vincule-o a esse centroide específico. Você repete isso para cada caso no conjunto de dados. E então, no final, atualize os centroides para serem a média dos pontos de dados dentro de cada cluster. Então você pode ver que K é o número de clusters, e então os meios se referem a tirar a média de todos os casos para formar os novos centróides. Depois de analisar o conjunto de dados uma vez, o que você quer fazer é repetir essas etapas continuamente até que os centróides se estabilizem e cheguem à convergência. Aqui está uma animação que mostra o algoritmo K-means em ação. Você pode ver que inicialmente ele escolhe três centróides aleatoriamente. Agora, o azul e o amarelo são realmente muito próximos. Então, no início, o cluster azul é realmente bastante pequeno e o aglomerado amarelo é muito maior. O cacho laranja, porque o centróide começa bem longe dos outros dois centróides, é realmente muito grande no começo. Mas à medida que continuamos a atualizar os centroides, o aglomerado laranja fica cada vez menor. Esse conjunto de dados é chamado de conjunto de dados do Mickey Mouse, e você provavelmente pode descobrir o porquê. Essencialmente, é composto por três bolhas, um tipo de maior no meio na parte inferior, e depois dois menores que são algo que parece um pouco como Mickey Mouse e suas orelhas. Então, algumas coisas a serem observadas sobre o processo de executar o K-means. Então você pode ver que ele faz um bom trabalho de classificar os blobs que esperaríamos juntos. Assim, os casos na orelha direita estão aproximadamente juntos, os da orelha esquerda, novamente, eles estão aproximadamente juntos, e, em seguida, aqueles em uma espécie de rosto redondo também são agrupados. Mas neste caso, na verdade, há um monte de casos que provavelmente, se fôssemos fazê-lo apenas olhando para ele e deduzindo o padrão, provavelmente colocaríamos em cada uma das orelhas. Então lembre-se disso quando estiver pensando na intuição em torno de K-means, porque neste caso, neste conjunto de dados, o que temos são clusters com variantes desiguais. E o algoritmo K-means realmente se esforça com clusters que têm variações diferentes, porque quando estamos fazendo o cálculo, estamos assumindo que a variância é igual dentro de cada um dos K clusters que escolhemos. Agora, este exemplo está apenas nas dimensões X e Y. Portanto, há realmente apenas duas variáveis que estão agrupando. Mas quase todo o agrupamento que você fará estará em um número muito maior de dimensões. Então você pode ter um punhado, ou mesmo uma dúzia, ou duas dúzias de variáveis que você está usando para formar seus clusters. Então o algoritmo K-means faz uma função de tipo análogo, exceto em dimensões superiores. Então, em vez de mover os centróides apenas dentro esse plano X e Y, na verdade está movendo o centróide no entanto dimensões você tem como variáveis de entrada. Então pode ser algumas dezenas de variáveis. Portanto, existem algumas razões pelas quais K-means é o algoritmo mais popular. A primeira é que é relativamente simples e bastante fácil de programar. Portanto, não precisamos de muitos passos para entender como agrupar as diferentes linhas juntas e como atualizar o centro do cluster. O que isso significa é que é bastante simples para entender como os centróides estão se movendo e poder interpretá-los quando queremos entender e descrever os clusters que criamos. Então agora você deve ter uma intuição sobre como o algoritmo K-means funciona na prática e a maneira como os centroides se atualizam ao longo do tempo, bem como o motivo pelo qual esse algoritmo é chamado de K-means.