Ir al contenido principal

Diagrama de temas

    • Entrenamiento y ajuste de modelos de clústeres

      Entrenamiento y ajuste de modelos de clústeres


      Archivos de datos

      /home/student/ITSAI/Cluster/Clustering.ipynb
      /home/student/ITSAI/Cluster/data/houses_data.pickle

      Antes de empezar

      La máquina virtual y Jupyter® Notebook no están abiertos.

      Escenario

      Una compañía de bienes raíces que trabajó con el conjunto de datos del Condado de King tiene compradores potenciales. Cada comprador identifica qué casas le interesan más. Sin embargo, debido a ciertas circunstancias, como una casa que se retira del mercado, es posible que no puedan obtener sus mejores opciones. Por lo tanto, el agente de bienes raíces debe ser capaz de recomendarles una o más casas similares a sus mejores opciones. Dado que hay tantos factores que intervienen en la elección de un comprador, lo que se define como "similar" no es fácil de determinar.


      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.

      2. En Oracle VM VirtualBox Manager, en la lista de la izquierda, seleccione ITSAI y, a continuación, seleccione Computador→Inicio→Inicio normal.
      3. Espere a que se inicie el sistema operativo.

      -----------------------------------------------------------------------------------------------------------------------------------------------------------------------
      2. Inicie Jupyter Notebook.
      1. En el escritorio, haga doble clic en el icono de Jupyter para iniciar el servidor de Jupyter Notebook y abrir un explorador web.
      2. Seleccione ITSAI.
      3. Seleccione Clúster.
      4. Seleccione Clustering.ipynb para abrirlo.

      ------------------------------------------------------------------------------------------------------------------------------------------------------------
      3. Importe las bibliotecas relevantes y cargue el conjunto de datos.
      1. Desplácese hacia abajo y vea la celda titulada Importar bibliotecas de software y examine la lista de código debajo de ella.

      Este código importa las diversas bibliotecas de software que se utilizarán en este programa y carga el conjunto de datos.

      2. Ejecute la celda de código.

      3. Compruebe que houses_data.pickle se cargó con 21.610 registros y 24 columnas.

      Este es el mismo conjunto de datos del condado de King que limpió y preprocesó en las lecciones 3 y 4.


      -------------------------------------------------------------------------------------------------------------------------------------------------------------
      4.Revise el conjunto de datos.
      1. Desplácese hacia abajo y vea la celda titulada Revisar el conjunto de datos y examine la lista de código debajo de ella.

      Este código mostrará las primeras 5 filas del conjunto de datos.

      2. Ejecute la celda de código.

      3. Examine el resultado.

      Recuerde que limpió algunos de los datos, completó los valores que faltaban y codificó el tipo de techo en tres columnas.

      -----------------------------------------------------------------------------------------------------------------------------------------------------------------------
      5. Utilice un modelo de k-means para etiquetar cada fila del conjunto de datos.
      1. Desplácese hacia abajo y vea la celda titulada Utilizar un modelo de k-means para etiquetar cada fila del conjunto de datos y examine la lista de código debajo de ella.

      Esta función, cuando se la llama, creará un modelo de agrupación en clústeres de 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.

      2. Ejecute la celda de código.
      3. Examine el resultado.

        La función se definió y está lista para usarse.


      -------------------------------------------------------------------------------------------------------------------------------------------------------------
      6. Genere las etiquetas de clúster y adjúntelas al conjunto de datos original.
      1. Desplácese hacia abajo y vea la celda titulada Generar las etiquetas de clúster y adjúntelas al conjunto de datos original y examine la lista de código que aparece debajo de ella.

      Este código utilizará dos características (latitud y longitud de las casas) para realizar la agrupación en clústeres. Esto es solo un paso preliminar para ver cómo funciona la agrupación en clústeres. Se crearán cuatro clústeres.

      2. Ejecute la celda de código.

      3. Examine el resultado.


      La salida muestra que se agregó una nueva columna al conjunto de datos que especifica en qué clúster se coloca cada ejemplo de datos: 0, 1, 2 o 3.

      -------------------------------------------------------------------------------------------------------------------------------------------------------------
      7. Observe cuántas casas se distribuyeron a cada grupo.
      1.Desplácese hacia abajo y vea la celda titulada Observar cuántas casas se distribuyeron a cada clúster y examine el listado de código debajo de él.

      Este código mostrará una lista de cuántas casas hay en cada clúster.

      2. Ejecute la celda de código.

      3. Examine el resultado.

      Cada grupo contiene varios miles de casas, siendo el grupo 2 el que tiene más.


      -------------------------------------------------------------------------------------------------------------------------------------------------------------

      8. Muestre los clústeres de casas en el mapa según su ubicación.
      1. Desplácese hacia abajo y vea la celda titulada Mostrar los clústeres de casas en el mapa según su ubicación y examine el listado de código debajo de él.

      Este código define una función que diagramará cada punto de datos 20 (casa) en un mapa geográfico del área, junto con los clústeres de esos datos. Cada clúster cubrirá un área del mapa con color basado en el precio de las casas en esa área. Cada punto de datos será un círculo que se encuentra en la parte superior de la visualización del clúster. El tamaño del punto de datos viene determinado por el precio de venta de la vivienda.
      2. Ejecute la celda de código.

      3. Examine el resultado.

      La función se definió y está lista para usarse.

      4. En la siguiente celda de código, examine el código.

      Este código llamará a la función show_on_map y generará el mapa.


      5. Ejecute la celda de código.

      6. Examine el resultado.

      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.


      7. Con los controles de la parte inferior derecha del mapa, active y desactive las diferentes combinaciones de los clústeres para mostrar y ocultar esos mapas de calor de los clústeres, respectivamente.

      Puede ver más fácilmente la forma de cada clúster activando y desactivando algunos en diferentes momentos.

      -----------------------------------------------------------------------------------------------------------------------------------------------------------------------
      9. ¿Cómo se formaron los clústeres con respecto a la ubicación?


      -------------------------------------------------------------------------------------------------------------------------------------------------------------

      10.Prepare para agrupar en clústeres por múltiples características de interés para los compradores de viviendas.
      1. Desplácese hacia abajo y vea la celda titulada Prepare para agrupar en clústeres por múltiples características de interés para los compradores de viviendas y examine el listado de código debajo de él.


      Ahora que está seguro que el modelo de agrupación en clústeres funciona, ajustará el modelo mediante el uso de todas las características relevantes para los intereses de los posibles compradores. Estas características son:
      Los pies cuadrados de la casa.
      El número de baños.
      El número de dormitorios.
      La "clasificación" de la casa.
      La calidad de la vista de la casa.
      Si la casa tiene vista a un cuerpo de agua.
      2. Ejecute la celda de código.

      3. Examine el resultado.

      La función se definió y está lista para usarse.


      4. En la siguiente celda de código, examine el código.

      Este código utilizará seis características especificadas en la celda anterior para realizar la agrupación en clústeres. Nuevamente, se crearán cuatro clústeres.

      5. Ejecute la celda de código.

      6. Examine el resultado.

      El resultado muestra que algunas de las casas ahora se colocan en clústeres diferentes que antes, cuando se usaban la latitud y la longitud de las casas para crear los clústeres. Las etiquetas de clúster para estas cinco casas de los clústeres anteriores fueron: 1, 2, 2, 1 y 3.

      -------------------------------------------------------------------------------------------------------------------------------------------------------------

      11. Muestre clústeres de casas en el mapa por características de interés para los compradores de viviendas.
      1. Desplácese hacia abajo y vea la celda titulada Mostrar clústeres de casas en el mapa por características de interés para los compradores de viviendas y examine el listado de código debajo de él.

      Este código llamará a la función show_on_map y generará el mapa utilizando las características de interés para los compradores de viviendas.

      2. Ejecute la celda de código.

      3. Examine el resultado.

      Hay cuatro clústeres, cada uno de los cuales se generó teniendo en cuenta 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.

      Puede ver que la forma de cada clúster ahora se superpone, ya que ya no se basa en la latitud y la longitud. Hay más información involucrada en las decisiones de agrupamiento por clústeres que solo la ubicación general. Por ejemplo, una casa en el clúster 0 podría estar en el mismo vecindario que las casas en los clústeres 1, 2 y 3, pero esas casas difieren en otras formas clave. Si un comprador de vivienda ya sabe en qué área general quiere vivir, la agencia de bienes raíces podría usar este modelo de clústeres para sugerir alternativas útiles que están dentro de esa área.