2022/07/26

S3 Práctica: Mapas de Calor

PRÁCTICA: MAPAS DE CALOR

Ahora se continua con la parte práctica, para eso se continua dentro de nuestra libreta y va a ir viendo.

De igual forma que en los Ejemplos pasados va a ocupar un Data Frame y para eso va a usar 'Pandas' Entonces nuestra primera instrucción va a importar 'pandas as pd'.

Ahora va a utilizar la misma Base de Datos de las Enfermedades del Corazón que ya ha descargado con anterioridad de Kaggle.

En este caso yo ya a tengo descargada así que voy a continuar con la práctica, le voy a decir: 'df', mi variable Data Frame va a ser igual a lo que lea a través de pandas del archivo 'heart'.

Imprimir los primeros 5 registros para ver que lo haya hecho correctamente.

A medida que te desenvuelvas más y que tengas más confianza, es probable que tú mismo decidas dejar de poner este tipo de instrucciones, como head, porque sabes que ya lo están leyendo bien pero, si son tus primeros ejemplos o son tus primeras veces que estás trabajando Python.

Se recomiendo que siga utilizándola porque no solamente te garantiza que lo importaste bien a la libreta de 'Jupyter' sino que te da rápidamente un vistazo de cómo se distribuyen los datos en ese Data Frame.

Los Mapas de Calor son muy buenos para graficar y representar la correlación entre variables, por lo tanto va a dejar que pandas de la correlación de las variables.

Para eso se le dice al Data Frame obtener la correlación con la instrucción: 'df.corr()' va a darle run y aquí está la correlación entre cada una de las variables de Data Frame, cada valor, cada par de variables.

Y ahora sí, va a empezar con hacer Mapas de Calor.

Nuestra primera aproximación, igual que los ejemplos pasados, va a ser utilizar 'matplotlib' para graficar.
Importó matplotlib, 'matplotlib.pyplot as plt' y le digo que lo voy a ocupar en esta libreta.
Con la instrucción '%matplotlib inline'.
Voy a imprimir este gráfico mostrando una imagen, matplotlib tiene esta función 'plt.imshow' Me permite mostrar una imagen construida, prácticamente cuadro por cuadro, y
¿Con qué voy a llenar esos cuadros?
Esos cuadros los voy a llenar con los valores de las correlaciones.
va a ver
¿cómo se va a ver esta gráfica?
Aquí está, le digo, en este caso en default, al valor de 1 le asigno el color 'Amarillo' y a los demás valores les fue asignando una variación de color diferente y construyó esa imagen a partir de esta tabla.
Pero a esta imagen le falta mucho para ser en verdad un Mapa de Calor, le faltan al menos un elemento indispensable, que sería la escala de color.
va a ver que se podra trabajar con esto.
La variable corelación va a ser la correlación del Data Frame y voy a hacer un sub plot, en el que voy a mostrar esa variable con relación y va a salir una imagen muy parecida a la que ya tenía pero aparte le voy a dar estas dos funciones: 'xticks' y 'yticks'.
En la primera le voy a dar desde un valor inicial por el índice de correlación cada una de las diferentes variables, va a ver que genera aquí.
Esta función de aquí, lo que está generando es que los mismos nombres que tenía mis columnas y mis renglones se los está asignando a cada uno de estas columnas y renglones
¿Por qué se le incluyó al 'Eje x' está palabra: Rotación?
va a quitársela, va a ver
¿Qué pasa?
Rotación, como su nombre lo dice, va a rotar esa etiqueta pero va a ver cómo se vería sin ella.
Los nombres como es muy pequeño el espacio se empalman bastante.
Simplemente asignamos esa variable para que sea un poquito más estético y sea más fácil de ver.
Esta variable a medida que se acerca a 90° se va a ir poniendo de manera horizontal o vertical.
y a medida que, Por Ejemplo, en 45° se va a ver inclinado, pero es muy probable que las palabras largas se empalmen.
Yo le recomendaría para este ejemplo en particular un valor de 70 pero está simplemente abierto a que ustedes experimenten en
¿cómo se vea mejor?
En su gráfica, en particular.
¿Qué otras cosas se podra hacer con estas funciones?
En la página matplotlib, que está aquí, en esta liga, existe en lo que le dicen "Mapas de Colores".
Los Mapas de Colores nos permiten diferentes temas y diferentes formas de ver nuestro mapa de calor, en particular ahorita le puse en donde poníamos normalmente: "Muestra la imagen de correlación", le agregamos el parámetro 'color map' o 'mapa de color' y escogimos uno de esta liga para que lo vean ustedes en este ejemplo.
Además incluimos la barra de colores, va a ver cómo se ve.
Este ejemplo cambió mucho la tonalidad entre el ejemplo de arriba y el ejemplo de abajo y al agregar la barra de colores es nuestra escala y así cualquier persona que no conozca nuestra tabla puede darse una idea muy aproximada ahora que ya conoce los colores de la escala.
Bueno,
¿Qué alternativas existen al trabajar con el 'imshow', bueno existe la alternativa de volver a importar 'seaborn' y va a ver como 'seaborn' si tiene una función específica que se llama 'heatmap'.
Para este ejemplo en particular, le asignamos a nuestra gráfica un tamaño en específico, le pusimos un 'heat map' con la variable correlación que era la que teníamos arriba y va a ver cómo se ve.
SEABORN es una librería mucho más sofisticada para hacer, al menos, mapas de calor y ya no le tuve que yo asignar manualmente los índices utilizando matplot Ya el los puso por default buscandolos en el Data Frame pero, tiene más funciones.
Por Ejemplo esta que estaba comentada, va a quitarle el comentario y ver
¿Qué hace?.
va a comentar esta de arriba para ver la diferencia.
Fíjense como dice "Haz un Mapa de Calor de la variable correlación pero con un ancho de línea de 0.5".
Vean la gráfica que teníamos y ahora observen la gráfica que va a tener después de darle 'run'.
Creo estas líneas de un grosor de 0.5 que me permiten ver un poco más fácil la distinción entre un cuadro y otro y entonces es mucho más fácil que por ejemplo ahora ubique
¿Cuánto es en la edad, la correlación de la edad con esta variable?
¿Qué más se podra hacer?
va ahora a ver otro parámetro diferente que es el 'annot'.
'Annot' le va a dar anotaciones a cada cuadro y para este ejemplo en particular va a ocupar otro Mapa de Color para que tú puedas observar otro diferente.
Sí le damos run, ahora nuestro Mapa de Calor tiene unos tonos más azulados y en cada celda se le puso un número que representa el valor numérico que tenía antes de ser sustituido por un color.
Hasta ahorita son todas las funciones que va a ver de 'Mapas de Calor' pero te invitamos a que pruebes nuevas.
No dejes de revisar las librerías y no dejes de preguntar en foros si tienes dudas de
¿Cómo se genera esto?

No hay comentarios:

Publicar un comentario

S4 Cierre

Cierre Semana 4 Muchos de los problemas actuales a los que se enfrenta un científico de datos involucran el manejo de grandes cantidades de ...