Evaluación de modelos de clúster
Antes de empezar
Clustering.ipynb está abierto en Jupyter Notebook.
Nota: Si cerró Jupyter Notebook desde que completó la actividad anterior, deberá reiniciar Jupyter Notebook y volver a abrir el archivo. Para asegurarse de que todos los objetos y la salida de Python están en el estado correcto para comenzar esta actividad:
1. Seleccione Kernel→Reiniciar & y Borrar salida.
2. Seleccione Reiniciar y borrar todas las salidas.
3. Desplácese hacia abajo y seleccione la celda con la etiqueta Usar el método de codo para determinar el número óptimo de clústeres.
4. Seleccione Celda→ Ejecutar todo lo anterior.
Escenario
Al igual que con el aprendizaje supervisado, necesitará alguna forma de evaluar los modelos de agrupación en clústeres. Esto es especialmente importante para elegir el número óptimo de clústeres, ya que cualquier cambio en este número tendrá un impacto significativo en la forma en que se segmentan las casas.
------------------------------------------------------------------------------------------------------------------------------------------------------------------------
1. Utilice el método de codo para determinar el número óptimo de clústeres.
1. Desplácese hacia abajo y vea la celda titulada Usar el método del codo para determinar el número óptimo de clústeres y examine la lista de código debajo de ella.
En lugar de proporcionar un valor arbitrario para el número de clústeres, debe realizar análisis para determinar cuál es el número óptimo de clústeres. El método de codo es un método para lograrlo. Este código probará valores k
del 1 al 10 y determinará cuál es el mejor.
2. Ejecute la celda de código.
3. Examine el resultado.
Este diagrama localiza automáticamente el codo por usted: 3. Como puede ver, este es el punto en el que agregar más clústeres proporciona rendimientos decrecientes. La línea verde discontinua indica el tiempo necesario para entrenar el modelo en cada valor de clúster.
------------------------------------------------------------------------------------------------------------------------------------------------------------------------
2. Utilice el análisis de silueta para determinar el número óptimo de clústeres.
1. Desplácese hacia abajo y vea la celda titulada Usar el análisis de silueta para determinar el número óptimo de clústeres y examine la lista de código debajo de ella.
Una alternativa al método del punto del codo es la puntuación de silueta, que este código visualizará. Empezará generando las siluetas con un k
de 4, como el modelo original que generó anteriormente.
2. Ejecute la celda de código.
Nota: El análisis de silueta puede tardar unos minutos en finalizar.
Cada uno de los 4 clústeres se traza como su propia silueta y la puntuación media de silueta para los clústeres se dibuja como una línea roja vertical.
Nota: La silueta gris, que indica el clúster 3, tiene comparativamente pocos ejemplos de datos y por eso es más delgada que las otras siluetas.
4. En la siguiente celda de código, examine el código.
5. Ejecute la celda de código.
6. Examine el resultado.
La puntuación de silueta para 4 clústeres es de ~ 0,54. Las puntuaciones más cercanas a 1 indican una mayor cantidad de compacidad y separación de clústeres, que son los dos objetivos principales de la agrupación en clústeres eficaz. Sin embargo, una puntuación de silueta para un número de clústeres es más útil cuando se compara con un número diferente de clústeres.
-------------------------------------------------------------------------------------------------------------------------------------------------------------
3. Utilice 3 clústeres para el análisis de silueta y compárelos con la puntuación de silueta de 4 clústeres.
1. Desplácese hacia abajo y vea la celda titulada Usar 3 clústeres para el análisis de silueta y compararlos con la puntuación de silueta de 4 clústeres y examine la lista de código debajo de ella.
Esta vez, las siluetas se calcularán para 3 clústeres mediante k
-means. Este es el mismo número de clústeres que el punto de codo.
2. Ejecute la celda de código.
Nota: El análisis de silueta puede tardar unos minutos en finalizar.
La puntuación de silueta parece haber aumentado un poco, pero buscará la puntuación exacta para asegurarse.
4. En la siguiente celda de código, examine el código.
5. Ejecute la celda de código.
La puntuación de silueta para 3 clústeres es de ~ 0,55. Como era de esperar, la puntuación de silueta aumentó un poco. Esto sugiere que 3 clústeres pueden ser mejores que 4. Generará una puntuación de silueta más para realizar una comparación.
-------------------------------------------------------------------------------------------------------------------------------------------------------------
4. Utilice 10 clústeres para el análisis de silueta y compárelos con la puntuación de la silueta anterior.
1. Desplácese hacia abajo y vea la celda titulada Usar 10 clústeres para el análisis de silueta y compararlos con la puntuación de la silueta anterior y examine la lista de código debajo de ella.
Esta vez, las siluetas se calcularán para 10 clústeres mediante k
-means.
2. Ejecute la celda de código.
Nota: El análisis de silueta puede tardar unos minutos en finalizar.
La puntuación de silueta parece haber disminuido, pero buscará la puntuación exacta para asegurarse.
4. En la siguiente celda de código, examine el código.
5. Ejecute la celda de código.
6. Examine el resultado.La puntuación de silueta de ~0,52 es inferior a las puntuaciones de 3 y 4 clústeres. Si tuviera tiempo, probablemente desearía generar puntuaciones de silueta para muchos más valores de k
, ya que podría haber algunos que obtienen una puntuación incluso mejor que los 3 clústeres.
Debe tener en cuenta cómo el número de clústeres influirá en la forma en que aplica esas casas al mundo real. Puede haber un límite superior para el número de clústeres impuesto por el dominio del problema. Por ejemplo, ¿será factible para la agencia de bienes raíces crear y rastrear 10 o más grupos de viviendas diferentes? Por ahora, solo considerará que 3 es el número "óptimo" de clústeres, ya que también se alinea con lo que concluyó el punto de codo.
------------------------------------------------------------------------------------------------------------------------------------------------------------------------
5. Utilice el número óptimo de clústeres para mostrar los grupos de viviendas.
1. Desplácese hacia abajo y vea la celda titulada Usar el número óptimo de clústeres para mostrar los grupos de viviendas y examine la lista de código debajo de ella.
2. Ejecute la celda de código.
3. Examine el resultado.
Hay tres clústeres, cada uno de los cuales considera las seis características de interés para los compradores de viviendas.
4. Active y desactive las diferentes combinaciones de los clústeres para mostrar y ocultar esos mapas de calor de los clústeres, respectivamente.
-------------------------------------------------------------------------------------------------------------------------------------------------------------
6. ¿Cree que este modelo es adecuado para resolver el problema de recomendar casas similares a compradores que expresaron interés en una casa específica? ¿Por qué o por qué no?
-------------------------------------------------------------------------------------------------------------------------------------------------------------7. Cierre este kernel de Jupyter Notebook y la máquina virtual.
1. En Firefox, seleccione la pestaña Clustering.ipynb.
2. En el menú, seleccione Kernel→Cerrar.
3. En el cuadro de diálogo ¿Cerrar kernel?, seleccione Cerrar.
4. Cierre Firefox.
5. Cierre la ventana Terminal - que ejecuta el programa Jupyter Notebook.
6. En el menú VirtualBox VM en la parte superior de la pantalla, seleccione Equipo→Apagar ACPI y, si es necesario, seleccione Apagar. Compruebe que la ventana de la VM se cierre.
7. Cierre la ventana Oracle VM VirtualBox Manager.