Neste capítulo, vamos olhar em uma série de algoritmos de agrupamento e compare o desempenho deles em alguns conjuntos de dados diferentes. Então, os conjuntos de dados que vamos usar para comparar os vários algoritmos de agrupamento tem algumas propriedades interessantes e o que queremos fazer é ver como os vários algoritmos fazem em todos esses diferentes tipos de situações. Então, o primeiro que vamos olhar em é essencialmente dois círculos concêntricos. Então, provavelmente, se quiséssemos agrupar esse conjunto de dados, provavelmente gostaríamos de ter cada grupo de círculos juntos. A segunda é parecida, são duas luas e assim, novamente, nós provavelmente queremos para agrupar cada uma dessas luas. O terceiro é essencialmente três blobs e cada um deles tem uma variação diferente. Você pode ver aquele no meio é um pouco mais espalhado em comparação para os outros dois que são muito mais compactos. A outra coisa que é interessante sobre este conjunto de dados é que eles não estão separados como nos outros exemplos de conjuntos de dados. O terceiro são três charutos, então em vez disso de ter uma espécie de blob de tipo circular no conjunto de dados, temos esse tipo de formas alongadas. O terceiro é apenas três, bolhas bastante compactas. E então o último é essencialmente ruído aleatório, então não há padrão para este conjunto de dados final. Ok, então, vamos começar com o mini-lote K-means. já sabemos um pouco sobre o algoritmo K-means. Uma maneira de torná-lo mais rápido é em vez disso de classificar cada linha de dados, cada vez que os centroides são atualizados, em vez disso, você pode obter uma amostra dos dados e atualize o centroide com base nisso. Então, é uma grande economia de tempo quando você está usando um grande conjunto de dados no seu problema de agrupamento, embora haja uma diferença entre o K-means regular e o K-means de mini-lote, é realmente uma pequena diferença, e assim, no caso de você ter um grande conjunto de dados usando algo como o mini-lote K-means pode ser muito valioso. Aqui vamos entrar em Python e vamos executar este algoritmo. Então, você pode ver que eu tenho aqui, o código está desenhando todos esses seis conjuntos de dados que vamos usar para a classificação e agora o que eu quero fazer são três coisas diferentes. Então, primeiro, quero criar meu objeto para executar o K-means. Em seguida, quero ajustar os dados. E, finalmente, quero representar graficamente os resultados do cluster dos dados para que possamos ver como funciona nos diferentes conjuntos de dados. Ok, então vamos ver como isso funciona. Você pode ver que nosso mini-lote K-means se sai bem em nosso conjunto de dados de três blobs, mas isso é realmente o único que está classificando da maneira que desejamos. Mas lembre-se que o K-means parece nas regiões ao redor dos centróides e assim, em vez de encontrar os padrões conectados lá dentro, está olhando em que estão próximos dentro de uma região e ignorando lugares onde há uma escassez de dados. Então você pode ver que não está encontrando nenhum dos padrões, nos dois círculos, por exemplo, não está encontrando os padrões com os três charutos e só está realmente encontrando o padrão no conjunto de dados de duas luas porque eles são classificados de algo separado no espaço já então, é realmente uma espécie de falso resultado mais ou menos naquele. A outra coisa a notar definitivamente é que mesmo quando temos as três bolhas desiguais, está fazendo um trabalho razoável para encontrar esses três clusters, mas você pode ver que no caso do cluster laranja, meio que sangra naquele grande aglomerado do meio. Então isso é algo que você definitivamente deve manter em mente quando você está usando o K-means é que não olhe para lugares onde os dados são escassos para formar o cluster. Ele usa apenas esses centróides para determinar onde os clusters começam e terminam e por isso, você pode ter um pouco de coisas estranhas acontecendo em uma espécie de fora desses clusters. Então agora você deve ter uma ideia de como o mini-lote K-means pode funcionar em alguns de nossos conjuntos de dados de exemplo, lugares onde funciona bem e lugares onde não funciona tão bem.