k
(clústeres). Cada ejemplo de datos se coloca dentro del clúster cuyo centro (denominado centroide) es el más cercano a ese ejemplo de datos. La cercanía se puede definir mediante una métrica de distancia que se elige durante el entrenamiento. Por lo tanto, termina con clústeres de datos que exhiben similitud estadística, como se visualiza en la siguiente ilustración.k
-means convergen), o hasta que se cumple un número especificado de iteraciones.k
-means es a menudo utilizada por las empresas para agrupar a sus clientes en función de características similares. La empresa puede entonces comercializar sus productos o servicios de manera diferente a cada grupo. La agrupación en clústeres también es útil para categorizar imágenes y videos.k
-means es la minimización del costo, al igual que otros algoritmos de aprendizaje automático. La función de costo global J(θ)
se puede escribir de la siguiente manera: - n
es el número total de ejemplos. -
xi
es el ejemplo de datos iº
.
-
cj
es el centroide jº
.
n
a cada clúster, terminaría con muchas, muchas combinaciones posibles, incluso si el tamaño de la muestra y el número de clústeres son bajos. Por ejemplo, con un n
de 25 y 4 como el número de clústeres, hay aproximadamente 47 billones de asignaciones posibles.k
-means es un algoritmo iterativo que requiere optimización local. El proceso es el siguiente:k
-means con diferentes centroides elegidos aleatoriamente para superar esto.k
-means, el desafío principal es determinar k
(el número de clústeres). Hay varias métricas de evaluación que puede utilizar para ayudar a determinar la k
óptima. Antes de usar estas métricas, sin embargo, debe comenzar evaluando el problema que está tratando de resolver. En función de su conocimiento del dominio, es posible que pueda imponer restricciones útiles a los datos. Por ejemplo, suponga que tiene un conjunto de datos sin etiqueta de miles de fotografías que representan paisajes urbanos. Desea organizar estas imágenes por las ciudades en las que se tomaron. Las imágenes no tienen metadatos basados en la ubicación, por lo que deberá confiar en el contenido real de cada imagen para identificar su ubicación. En este caso, usted sabe que cada imagen fue tomada en una de las cuatro ciudades posibles. Por lo tanto, debido a su conocimiento del dominio, sabe que solo aceptará cuatro clústeres, ni más ni menos. Por lo tanto, no necesitará estimar un número "correcto" de clústeres.Sin embargo, la mayor desventaja de LCA es que es mucho más lento, particularmente cuando se trata de grandes conjuntos de datos. Usted consideraría usar LCA sobre la agrupación en clústeres k-means cuando el tamaño de la muestra es pequeño o el tiempo no es un factor. Tenga en cuenta también que actualmente no hay compatibilidad con LCA en ninguna de las principales bibliotecas de ciencia de datos de Python®, aunque hay compatibilidad con LCA en el lenguaje de programación R.
k
-means son dos algoritmos principales de AA no supervisados, pero no son los únicos. Para obtener más información sobre otros tipos de algoritmos de agrupación, consulte este sitio.Anteriormente, pudo entrenar un modelo de aprendizaje automático para predecir los precios de las casas. Este fue un problema supervisado, porque había una variable/etiqueta objetivo involucrada (precio). Sin embargo, conjuntos de datos como estos pueden ser aplicables a muchos problemas; no solo a uno. Por lo tanto, en este caso, desea poder juntar o agrupar casas juntas en función de la similitud de sus características. Dado que no hay ninguna etiqueta para predecir, esto presenta un problema no supervisado; uno en el que usará una agrupación en clústeres k
-means para solucionarlo.
-------------------------------------------------------------------------------------------------------------------------------------------------------------
1. Inicie el entorno de actividad.
1. En el escritorio, haga doble clic en la aplicación Oracle VM VirtualBox para iniciarla.
k
-means para etiquetar cada fila del conjunto de datos.k
-means para etiquetar cada fila del conjunto de datos y examine la lista de código debajo de ella.k
-means utilizando el número de clústeres que especifique más adelante. La función devolverá un DataFrame
del conjunto de datos de entrenamiento con una nueva columna de etiquetas de clúster agregada.La función se definió y está lista para usarse.
Cada grupo contiene varios miles de casas, siendo el grupo 2 el que tiene más.
Este código llamará a la función show_on_map
y generará el mapa.
Hay cuatro grupos, cada uno agrupado por ubicación de la casa (latitud y longitud). Los clústeres aparecen como mapas de calor, donde las partes más claras indican dónde se encuentran la mayoría de las casas en el clúster, mientras que las partes más oscuras indican dónde se encuentran comparativamente menos casas. El precio medio de las casas en cada clúster también se muestra en los controles de la parte inferior derecha del mapa.
-------------------------------------------------------------------------------------------------------------------------------------------------------------
La función se definió y está lista para usarse.
-------------------------------------------------------------------------------------------------------------------------------------------------------------
show_on_map
y generará el mapa utilizando las características de interés para los compradores de viviendas.