Agrupamento em Python | O que é K significa Clustering?

Conteúdo

Este artigo foi publicado como parte do Data Science Blogathon.

Introdução

Clustering ou clustering é um algoritmo de aprendizagem de máquina não supervisionado que agrupa conjuntos de dados sem rótulo. Seu objetivo é formar clusters ou clusters usando os pontos de dados em um conjunto de dados de tal forma que haja uma alta semelhança entre os clusters e uma baixa semelhança entre os clusters.. Em termos simples, o cluster tem como objetivo formar subconjuntos ou grupos dentro de um conjunto de dados que consiste em pontos de dados que são realmente semelhantes uns aos outros e os grupos ou subconjuntos ou clusters formados podem diferir significativamente uns dos outros.

Por que grupo?

Suponha que tenhamos um conjunto de dados e não saibamos nada sobre isso.. Então, un algoritmo de agrupamento puede descubrir grupos de objetos donde las distancias promedio entre los miembros / pontos de dados de cada grupo estão mais próximos do que os membros / pontos de dados em outros grupos.

Algumas das aplicações práticas de Clustering na vida real, como:

1) Segmentação de clientes: Encontrar un grupo de clientes con un comportamiento similar dada una gran base de dados de clientes (um exemplo prático é dado usando segmentação de clientes bancários)

2) Classificação de tráfego de rede: Agrupando características da fonte de tráfego. Os tipos de tráfego podem ser facilmente classificados usando clusters.

3) Filtro de spam: Os dados são agrupados em diferentes seções (cabeçalho, remetente e conteúdo) e, em seguida, eles podem ajudar a classificar quais deles são spam.

4)Planejamento urbano: Agrupamento de casas de acordo com sua localização geográfica, valor e tipo de casa.

Diferentes tipos de algoritmos de agrupamento

1) Agrupamento de meias K – Usando este algoritmo, classificamos um determinado conjunto de dados através de um certo número de clusters padrão ou “k” Clusters.

2) Agrupamento hierárquico – Segue duas abordagens divisivas e de aglomeração.

A aglomeração considera cada observação como um único grupo e, em seguida, agrupa pontos de dados semelhantes até que eles se fundem em um único grupo e a Divisão funciona bem na frente dele..

3) Fuzzy C significa Clustering – A operação do algoritmo FCM é quase semelhante ao algoritmo de agrupamento k-means, a principal diferença é que no fcm um ponto de dados pode ser colocado em mais de um grupo.

4) Agrupamento espacial baseado em densidade – Útil en las áreas de aplicación donde requerimos estructuras de cacho no lineales, com base puramente na densidade.

Agora, aqui neste artigo, vamos nos concentrar profundamente no algoritmo de agrupamento k-meios, explicações teóricas do funcionamento dos k-means, vantagens e desvantagens, e um problema de agrupamento prático resolvido que vai melhorar a compreensão teórica e dar-lhe uma visão adequada. como o clustering k-media funciona.

Este isto é k-metade Clustering?

La agrupación de K-Means es un algoritmo de Aprendizado não supervisionado, que é usado para agrupar o conjunto de dados sem rótulo em diferentes grupos / subconjuntos.

Agora você deve estar se perguntando o que 'k significa’ e 'significa’ no k-significa Clustering significa ??

Deixando de lado todas as suas suposições aqui, 'k’ define o número de grupos predefinidos a serem criados no processo de agrupamento, vamos dizer se k = 2, haverá dois grupos, e para k = 3, haverá três grupos e assim por diante. Como é um algoritmo baseado em centroid, 'meias’ no agrupamento de k-means está relacionado com o centroid dos pontos de dados onde cada grupo está associado a um centroide. O conceito de um algoritmo baseado em centroid será explicado na explicação de trabalho dos k-means.

Principalmente, o algoritmo de clustering k-means executa duas tarefas:

  • Determina o valor mais ideal para pontos centrais ou centroides K usando um processo repetitivo.
  • Atribua cada ponto de dados ao k-center mais próximo. O cluster é criado com pontos de dados próximos ao centro k particular.

Como funciona o agrupamento k-significa??

Suponha que temos duas variáveis X1 e X2, Diagrama de dispersão a seguir:

img1-2688173

(1) Suponha o valor de k, que é o número de grupos predefinidos, isto é 2 (k = 2), então aqui vamos agrupar nossos dados em 2 grupos.

É necessário escolher k pontos aleatórios para formar os grupos. Não pode haver restrições na seleção de k pontos aleatórios de dentro dos dados ou do exterior. Então, aqui estamos considerando 2 pontos como pontos K (que não fazem parte do nosso conjunto de dados) que se muestran en la siguiente figura:

img2-8347313

(2) o próximo passo é mapear cada ponto de dados no conjunto de dados no gráfico de dispersão até o ponto k mais próximo, esto se hará calculando la distancia euclidiana entre cada punto con un punto k y dibujando una mediana entre ambos centroides, mostrado na figura abaixo-

img3-2535840

Podemos observar claramente que o ponto à esquerda da linha vermelha é perto de K1 ou o centroide azul e os pontos à direita da linha vermelha estão perto de K2 ou do centroide laranja.

img4-1673043

(3) Como precisamos encontrar o ponto mais próximo, vamos repetir o processo escolhendo um novo centroid. Para escolher os novos centroides, vamos calcular o centro de gravidade desses centroids e encontrar novos centroids como mostrado abaixo:

img5-3807283

(4) Agora, precisamos reatribuir cada ponto de dados para um novo centroid. Para isso, temos que repetir o mesmo processo de encontrar uma linha média. A mediana será tão abaixo:

img6-4253096

Na foto acima, podemos ver, um ponto laranja está no lado esquerdo da linha e dois pontos azuis estão bem na linha. Então, esses três pontos serão atribuídos a novos centroids

img7-3939464

Continuaremos a encontrar novos centrosids até que não haja pontos diferentes em ambos os lados da linha..

img8-3866459

Agora podemos eliminar os centrosids presumido, e os dois últimos grupos serão como mostrado na imagem abaixo

img9-1419858

Até agora vimos como o algoritmo k-media funciona e os diferentes passos envolvidos para chegar ao destino final dos clusters diferenciados.

Agora todos devem estar se perguntando como escolher o valor do número k de clusters.

O desempenho do algoritmo de agrupamento k-means depende em grande parte das piscinas que ele forma. Escolher o número ideal de clusters é uma tarefa difícil. Existem várias maneiras de encontrar o número ideal de clusters, mas aqui estamos discutindo dois métodos para encontrar o número de clusters ou o valor de K que é o Método do cotovelo e pontuação de silhueta.

Método de cotovelo para encontrar 'k’ número de grupos:[1]

O método Elbow é o mais popular para encontrar um número ideal de clusters, este método usa wcss (Soma de praças dentro de conglomerados) representando as variações totais dentro de um cluster.

WCSS = ∑Pi em Cluster1 distância (Peu C1)2 + ∑Pi em Cluster2distância (Peu C2)2+ ∑Pi em CLuster3 distância (Peu C3)2

Na fórmula acima ∑Pi em Cluster1 distância (Peu C1)2 é a soma do quadrado das distâncias entre cada ponto de dados e seu centroide dentro de um grupo1 semelhante para os outros dois termos na fórmula acima.

Etapas envolvidas no método do cotovelo:

  • K- significa que o agrupamento é feito para diferentes valores de k (a partir de 1 uma 10).
  • WCSS é calculado para cada grupo.
  • Uma curva é desenhada entre os valores WCSS e o número de clusters k.
  • O ponto de curvatura afiada ou um ponto de trama parece um braço, então esse ponto é considerado como o melhor valor de K.

img10-7054276

Então aqui, como podemos ver, uma curva afiada está em k = 3, então o número ideal de grupos é 3.

Avaliações de usuários para silhueta Método para encontrar 'k’ número de clusters

O valor da silhueta é uma medida de quão semelhante um objeto é ao seu próprio grupo. (coesão) em comparação com outros grupos (separação). A silhueta varia de -1 uma +1, onde um alto valor indica que o objeto corresponde bem ao seu próprio grupo e não aos grupos vizinhos. Se a maioria dos objetos tem um alto valor, em seguida, a configuração de agrupamento é apropriada. Se muitos pontos têm um valor baixo ou negativo, então a configuração de clustering pode ter muitos ou poucos clusters.

img11-2536034

Exemplo mostrando como podemos escolher o valor de 'k', uma vez que podemos ver que em n = 3 temos a pontuação máxima de silhueta, portanto, escolhemos o valor de k = 3.

Vantagens do uso de clustering k-means

  • Fácil de implementar.
  • Com um grande número de variáveis, K-Means pode ser computacionalmente mais rápido do que o agrupamento hierárquico (se K é pequeno).
  • k-significa pode produzir agrupamentos maiores do que agrupamentos hierárquicos.

Desvantagens do uso de agrupamento k-meio

É difícil prever o número de agrupamentos (Valor K).

As sementes iniciais têm um forte impacto nos resultados finais.

Implementação prática do algoritmo de clustering k-means usando Python (segmentação de clientes bancários)

Aqui estamos importando as bibliotecas necessárias para nossa análise.

img12-8669083

Leia os dados e obtenha o 5 melhores observações para dar uma olhada no conjunto de dados

img13-8853402

Código para EDA não incluído (Análise exploratória de dados), O EDA foi realizado com esses dados e uma análise outlier foi realizada para limpar os dados e torná-lo adequado para nossa análise.

Como sabemos, Os k-means são realizados apenas em dados numéricos, então escolhemos as colunas numéricas para nossa análise.

img14-5980407

Agora, para realizar o agrupamento k-means como discutido anteriormente neste artigo, precisamos encontrar o valor do número 'k’ de agrupamentos e podemos fazê-lo usando o seguinte código, aqui usamos vários valores de k para agrupamento e, em seguida, selecionar usando o Método do cotovelo.

img15-5547594

img16-6550429

À medida que o número de clusters aumenta, a variância (soma de quadrados dentro do conglomerado) Diminui. O cotovelo em 3 o 4 os grupos representam o equilíbrio mais parcimonioso entre minimizar o número de grupos e minimizar a variância dentro de cada grupo., para que possamos escolher um valor de k para ser 3 o 4

Agora ele mostra como podemos usar o método de valor da silhueta para encontrar o valor de 'k'.

img17-8713057

img18-3460944

Se observarmos, temos o número ideal de clusters em n = 3, então, finalmente, podemos escolher o valor de k = 3.

Agora, ajustar o algoritmo de k significa usar o valor de k = 3 y trazar el mapa de calor para los clústeres.

img19-3781541

img20-4971954

img21-9018714

Análise final

Cluster 0: clientes jovens que recebem empréstimos de baixo crédito por um curto período de tempo

Grupo 1: Clientes de meia-idade que recebem empréstimos de alto crédito por um período prolongado

Grupo 2: Clientes idosos que recebem empréstimos de crédito médio por um curto período

conclusão

Nós discutimos o que é clustering, seus tipos e sua aplicação em diferentes indústrias. Discutimos o que é o agrupamento k-means, a operação do algoritmo de agrupamento k-médio, dois métodos para selecionar o número 'k’ de agrupamentos, e suas vantagens e desvantagens. Mais tarde, passamos pela implementação prática do algoritmo de clustering k-media usando o problema de segmentação de clientes de bancos em Python.

Referências:

(1) img (1) para img (8) e [1] , referência tomada de “Algoritmo de clustering de mídia K”

https://www.javatpoint.com/k-means-clustering-algorithm-in-machine-learning

Assine a nossa newsletter

Nós não enviaremos SPAM para você. Nós odiamos isso tanto quanto você.

Datapeaker