Mostrando entradas con la etiqueta S3. Mostrar todas las entradas
Mostrando entradas con la etiqueta S3. Mostrar todas las entradas

2022/07/26

S3 Cierre Semana 3

CIERRE DE LA SEMANA 3


Se ha terminado la 3era Semana del curso.

Se ha aprendimos el concepto de: 'Visualización de Datos' haciendo énfasis en su importancia como un método de transmisión de conocimiento.

Realizamos prácticas en 'Python' con ayuda de una nueva librería llamada 'matplotlib', la cual permite tomar un conjunto de datos y construir diferentes tipos de gráficas o elementos visuales que representan la información de una manera fresca y visual.

S3 Selección del Método de Visualización

SELECCIÓN DEL MÉTODO DE VISUALIZACIÓN

Para poder transformar los datos en un gráfico, primero es necesario seleccionar el método de visualización que arroje la información que necesitas y que además sea viable de realizar, de acuerdo a la estructura de tu conjunto de datos.

Esta guía te ayudará a elegir la visualización adecuada:

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?

S3 Mapas de Calor

MAPAS DE CALOR

va a ver lo que se llaman "Mapas de Calor".
De igual forma que los vídeos pasados, preparamos un cuaderno que está dividido entre una parte teórica y una parte práctica.
En la parte teórica va a introducir todos los conceptos básicos y fundamentales para que entienda la gente que no está relacionada con el Área de Estadística Descriptiva o con el Área de Visualización de Datos 
'¿Qué es un un Mapa de Calor?'
va a empezar abriendo nuestro archivo que descargamos.
Yo les recomiendo que la pongan en la misma carpeta que los demás archivos debido a que en la carpeta de Data que va a compartir es probable que ocupemos información que ya hemos ocupado antes.
En este caso yo ya tengo mi archivo en el escritorio, voy a descargarlo, voy a abrirlo y mi Mapa de Calor empieza de la siguiente forma en el cuaderno.
¿Qué es un Mapa de Calor?
El mapa de calor es una visualización que representa Datos utilizando diferentes variaciones de calor.
Un Mapa de Calor es una Representación Visual de datos que utiliza diferentes variaciones de colores para describir cómo se comportan los datos en un formato tabular.
Los valores dentro de cada celda de la tabla son sustituidos por colores previamente establecidos por el investigador y se le reporta a la gente que lo está viendo una escala de color que le va a ayudar a entender
¿Qué está representando?.
En esta imagen que tiene aquí, no sabemos realmente qué información estamos trabajando, simplemente vemos muchos cuadros de colores.
Pero bueno, en este mapa se podra ver que existen 10 filas contra 12 columnas y en cada celda hay un color asociado.
Para entender qué significa más o menos este esquema va a centrarnos en un renglón, en este caso, el último.
va a analizar la variable rotulada '9' del conjunto de filas contra cada una de las 12 variables del conjunto de columnas.
Entonces si yo comparo la variable '9' de filas con la variable '0' de columnas, y tengo esta especie de rosa, puedo buscar su valor en la escala y asignarle un valor numérico.
En este caso este color está asociado con el valor numérico 0.5, el color oscuro con 0.0, el morado con 0.2 y así sucesivamente.
El 9 que es muy claro, con el 1.
Entonces en lugar de yoo ver esta representación numérica yo lo sustituí por esa representación de colores pero bueno, va a ver un ejemplo.
Un Ejemplo en el que se ha ocupado mucho este tipo de análisis.
Normalmente estos esquemas se ocupan para mostrar la varianza a través de múltiples variables revelando patrones.
El ejemplo que les va a mostrar, es un ejemplo de la literatura que busca medir la correlación entre 4 variables observadas en las flores de iris.
Las 4 variables que va a analizar son:
El largo del sépalo de la flor, 
El ancho del sépalo, 
El largo del pétalo y 
El ancho del pétalo.
Esta tabla de correlaciones fue brindada a través del Ejemplo.
Aquí se podra ver la correlación entre cada una de las variables.
Esta tabla de aquí, yo la puedo sustituir si propongo una escala de colores a las cuales voy a asignar los valores cercanos a estos valores numéricos, en este caso, el valor de '1' va a ser representado por un azul muy oscuro, el valor '- 0.25' va a ser sustituido por este color como crema claro y un intervalo de colores se va a ir ahí modificando.
Entonces a los valores de '1' de la tabla yo les voy a asignar el color de azul oscuro.
Al valor de ' - 0.1175 ', que está cercano al ' 0 ', es este de aquí, es como un verdecito.
Le asigno ese verdecito al ' 0.87 ', esta muy cerca del azul oscuro.
Y así sucesivamente cada uno de los valores se les va a ir asignando un color, de tal forma que se podra ver qué variables tienen más correlación que otras.
Pero bueno, va a llevar esto a la práctica a través de ' Python'.
Continuaremos con esta libreta pero ahora realizaremos todos los ejercicios para que tú puedas manejar y manipular datos y convertirlos en mapas de calor.

S3 Gráficas de Cajas y Bigotes

GRÁFICAS DE CAJAS Y BIGOTES

Revisemos juntos
¿Qué son los gráficos de caja?
Bueno, para eso también hemos preparado un cuaderno igual que las lecciones anteriores.
Nuestro cuaderno cabe destacar que, se los repito, por favor descarguenlo en una carpeta.
Recuerdan en que carpeta va a ser porque después tiene que, el material adicional, pegarlo en la carpeta de Data para que podamos trabajar con el.
En mi caso ya lo tengo descargado y lo tengo en mi escritorio.
Entonces, voy a abrir mi cuaderno, mi cuaderno 'Gráfica de Caja'.
Mi cuaderno empieza de igual forma que los ejemplos anteriores con una pequeña explicación para la gente que no conoce ese tipo de gráficas.
Y después continuaremos haciendo algunos cuantos ejercicios, utilizando Python.
Bueno,
¿Qué es una gráfica de caja?
Las gráficas de caja son una conveniente representación gráfica de un grupo de datos utilizando sus cuartiles como referencia.
Este tipo de gráficas son utilizadas en la estadística descriptiva y son una excelente forma de analizar los datos rápidamente con la ventaja principal de que ocupan un espacio muy reducido.
¿Cuáles son las cosas que se pueden observar con un gráfico de datos?
Aquí tiene un ejemplo, aún no sabemos como se desarrolla, no sabemos como se dibujan las cajas pero va a analizar sus componentes.
tiene un extremo superior asociado o el valor mayor, tiene un extremo inferior asociado al valor menor y tiene un punto intermedio que es la mediana.
La mediana es el punto más importante en el que va a empezar a referenciar nuestras gráfica.
De la mediana a un cuartil superior va a identificar el 25 por ciento de los datos, en esta sección que nuestro ejemplo, está en un verde oscuro, el 25% de los datos que estén entre el cuartil superior y el extremo superior están en esta línea recta.
Normalmente esas líneas se conocen como bigotes, de igual forma, de la mediana al cuartel inferior se encuentra el 25% de nuestros datos y del cuartil inferior al extremo inferior se concentran en los datos restantes.
Algunas veces hay datos que son completamente atípicos que son o muy mayor o muy muy muy mayores que ya se alejan mucho o muy menores.
Estos datos atípicos en los diagramas de caja se representan como estos puntos individuales pero, bueno va a hacer un ejemplo de calificaciones, de algo del día a día para que podamos entender
¿Cómo se construye esta caja?
En la siguiente tabla se presentan las calificaciones de 15 alumnos aquí las se podra ver y están ordenadas desde el 53 que es la mínima hasta el 94 que es la máxima.
Encontramos la mediana cuando ya están ordenados localizando el punto que este exactamente a la mitad.
En el caso de aquí es el 79, el cuartil inferior lo va a encontrar buscando la mitad de los datos que están del lado izquierdo de la mediana es decir el 69 y el cuartil superior lo va a encontrar de la misma forma pero con los datos que están después de la mediana es decir la mitad de estos datos el 87.
Entonces mis datos importantes quedan como el extremo menor el 53, el cuartil 1 o cuartil inferior el 69, la media o cuartil 2 el 79, el cuartil superior o cuartil 3 el 87, y el extremo superior el 94.
Yo ubico esos puntos en mi caja, los extremos de los bigotes son el valor menor y el valor mayor.
La caja empieza a dibujarse a partir del cuartil 1 hasta el cuartil 2 con un color claro y del cuartil 2 al cuartil 3 en este caso con un color más oscuro entonces nuestra gráfica esta dividida por cuatro conjuntos de datos.
Los datos en la línea izquierda que son los que están entre el valor menor y el cuartil inferior, los datos que están en la primera sección de la caja entre el cuartil 1 y la mediana, los datos que están en la segunda sección de la caja del cuartil 2 al cuartil 3 y los datos que están entre el cuartil 3 y el valor máximo.
Normalmente en este tipo de ejemplos, en este tipo de representaciones el 50% de los datos están contenidos dentro de la caja lo cual nos permite darnos una idea sencilla y rápida de cómo se encuentran distribuidos los datos, simplemente viendo la caja y sin tener conocimiento de ellos.
Continuaremos utilizando la misma libreta para realizar algunos cuantos ejemplos, ocuparemos la misma base de datos que ocupamos en el ejercicio de los Histogramas de 'Enfermedades del corazón', de todas formas si este es el primer vídeo que estás siguiendo de manera práctica, no te preocupes aquí está el link por si quieres bajarlo desde Kaggle pero, bueno.
Empezaremos nuestro ejemplo diciéndole que va a trabajar con pandas porque necesitamos esta herramienta para trabajar los Data Frames, empieza importando pandas como un pd, le doy run y le digo mi data frame va a ser igual a lo que leas, con pandas del archivo corazón, y voy a mostrar los primeros 5 valores de esta Data Frame para ver que lo haya importado en forma correcta.
Aquí tengo los primeros 5 registros de este Data Frame y ahora sí voy a trabajar con este.
Con esto, voy a hacer unas 'Gráficas de Cajas'.
Bueno, la primera parte voy a ocupar Matplotlib y lo voy a importar como plt para poder trabajar gráficas.
Además le voy a decir que voy a ocupar en línea Matplotlib para que pueda utilizarlos dentro de esta libreta.
Bueno, mi primera parte voy a hacer un 'Box Plot' o 'Gráfico de Cajas' con la columna de colesterol y el Data Frame y a esa gráfica le voy a poner box plot de colesterol.
va a mostrarla, va a darle run y aquí está mi primera gráfica de cajas hecha a través de Matplotlib.
Matplotlib me da este valor, aquí puedo ver la la media que está cerca de 240 Puedo ver el cuartil inferior, el cuartil superior, el extremo inferior, el extremo superior y todos estos valores, son valores atípicos que están representados como puntos.
va a seguir trabajando con esto, yo puedo decirle a mi 'Box Plot' que me separe por sexo, utilizando el colesterol como referencia, entonces me va a dar un box plot para las mujeres y para los hombres.
va a ver cómo se vería.
En este caso en particular tengo esta box plot.
empieza a ver unas cuantas, como que, problemáticas en el título se ve muy agrupado el texto.
Pandas tiene la problemática de que al trabajar box plots y mostrarlas a través de Matplotlib empieza a verse un poco mal.
Bueno eso lo va a suplir ocupando la paquetería 'seaborn' para darle un poco más de estilo a nuestra gráficas pero, ahorita va a ver qué nos representa.
Aquí nos dice que existen 2 sexos 0 y 1, en esta Base de Datos '0' es para femenino, '1' es para masculino.
Así lo representaron los que subieron la Base de Datos a Kaggle y aquí se podra ver que en el caso de las mujeres tienen un rango de valores más grande en colesterol que los hombres que están distribuidos más agrupados pero, bueno.
va a ver cómo se vería la misma gráfica pero utilizando 'seaborn'.
Entonces importo 'seaborn' con las letras 'sns' y 'sns.boxplot' En la 'x' voy a ocupar el sexo que sería igual que en el ejemplo pasado y en la 'y' voy a ocupar el colesterol de donde provienen los datos de mi Data Frame donde yo estaba trabajando 'df', el que había inicializado desde arriba.
Entonces va a ver
¿Qué pasa?
Si le doy run fíjense como las gráficas son muchísimo más amistosas que las gráficas anteriores son más fáciles de distinguir, pero en particular estas cajas su ancho es muy exagerado a lo mejor en este esquema se ven bien pero, puede uno controlar ese tipo de parámetros.
¿Cómo?
A la instrucción simplemente se le agrega el parámetro ancho, del inglés 'width'.
Entonces al darle un width de 0.2 y darle ejecutar la misma gráfica ya la hace muchísimo más corta, e igual que como vimos en el ejemplo de los histogramas seaborn tiene cargada una forma de hacer un poco más estéticas las gráficas y los histogramas y las gráficas de cajas.
En este caso le va a pasar ese estilo con la función sns.set Vean como es un poco diferente, visualmente pero representan los mismos datos
¿Qué más se podra hacer?
Una mejora que se le puede dar a las gráficas de cajas es darles a los usuarios una idea de
¿Cómo están distribuidos los datos?
se podra decirle más o menos
¿cuántos datos están en cada parte de la caja?
por que a las personas que tienen poco conocimiento del tema a veces este tipo de esquema no les representa mucho la alternativa que nos presenta seaborn es esta función 'swarmplot' va a ver
¿Cómo gráfica swarmplot, por separado?
Comentando la línea de abajo le voy a poner un alfa de 0.5 para que sea un poco transparente y pueda sobreponer otra imagen encima pero, va a ver por separado como se ve.
Si yo doy esta gráfica, me hace estas distribuciones como...
En este caso aparecen como hojas.
Bueno, en la parte donde hay más líneas va a estar muy concentrada, va desde, muy probable que sea, la media En este caso ahora va a ver cómo se vería la pura gráfica de caja y va a volver a darle run.
La caja pues es la misma del ejemplo pasado Y ahora va a ver las dos en conjunto, quitando el comentario en ambas aquí tengo mi caja junto a su gráfica swarm, entonces ya uno puede completar el conocimiento de la caja sabiendo cuántos datos se están en cada sección de esta caja.
Por ejemplo, esta caja cerca de la media están la mayoría de los datos y en los extremos, en este extremo no hay ningún valor atípico, en este extremo tampoco pero, en la gráfica de las mujeres si hubo casos que se presentaron valores atípicos.
va a ponerle un título a esta misma imagen con la opción 'title' y por último va a salvar esta foto en nuestras carpetas para poderlas utilizar en algún informe, si le doy run sale mi gráfica con su título y en la carpeta donde está mi cuaderno debe existir este archivo 'boxplot.png', nos va a la libreta y aquí la tiene box plot me da mi imagen y ya la puedo utilizar en cualquier archivo.
Con esto repasamos rápido
¿Qué es una gráfica de cajas?
y presentamos una alternativa de cómo complementar la información de la gráfica de cajas y acrecentar lo que uno puede aprender de estas gráficas.
Por el momento es todo lo que va a hacer con esta libreta, pero te invitamos a que si tú tienes algún dato o quiere seguir experimentando con otras columnas de este Data Frame lo realices.
 

S3 Práctica: Histogramas

PRÁCTICA: HISTOGRAMAS

va a trabajar con un conjunto de datos de enfermedades del corazón generada por la 'UCI de Cleveland' 
Nuestra página que está aquí es un compendio de esa información en la plataforma Kaggle.
va a entrar y ver.
¿Qué es este Data Set?
Entonces tiene aquí en nuestro Data Set y contiene 76 atributos pero, en particular está sesgado a 14 de ellos.
Los 14 atributos que cada uno de los pacientes dentro de este Data Set han registrado son: La Edad, El Sexo, El Tipo de Dolor en la Caja Toráxica, La Resistencia en la Sangre, El Colesterol, Los Ácidos Grasos y Entre Otros datos en particular.
Aquí tienen toda la información, la pueden leer, pueden checarla pero, en particular
¿Qué va a hacer con esta página?
Descargarla, igual que en ejercicios anteriores.
Si ya tienen una cuenta de Kaggle accedan a ella y bajenlo si no tienen, por favor creen una y descarguenlo.
Lo que descarguemos, que es el archivo csv por favor ponganlo en la carpeta de Data en la misma raíz donde tengan todos sus cuadernos o en caso contrario memoricen la ruta porque la va a ocupar escrita en nuestra libreta.
Bueno, regresamos a la libreta, nuestra libreta cómo va a ocupar Data Sets y Data Frames va a ocupar pandas Entonces va a empezar utilizando nuestra instrucción 'import...
'import pandas as pd', damos run y ya nuestra libreta de Python tiene pandas.
va a empezar con la misma instrucción que las veces pasadas pero modificando lo que ahora sea el conjunto 'heart' -corazón- csv Le damos play y para saber que lo leímos bien el 'df.head'.
Con '.head' yo puedo saber los 5 primeros valores, puedo modificar eso aquí ponerle por ejemplo, 10.
Y me va a salir los 10 primeros pero bueno, con 5 es suficiente para hacernos de una idea general.
En esta Data Set tengo: 'El paciente 0' conozco, Su Edad, Su Sexo y sus diferentes datos.
va a ver
¿Qué se podra hacer con esto?
Entonces esta gráfica, a mí me interesa hacer un histograma, me interesa graficarlo.
Para eso voy a ocupar 'matplotlib.pyplot' y lo voy a importar as 'plt' y con la instrucción de % matplotlib inline para que se vea en esta libreta.
Entonces le doy run y ya puedo en esta libreta trabajar con matplotlib y empezar a hacer mis gráficas y le voy a decir haz una gráfica, es decir un plot, del tipo histograma 'plt.hist' con la columna Data Frame del puro colesterol.
Entonces no va a ser un histograma de todo el colesterol de nuestra tabla.
Aquí está se ve más o menos cuántas personas tienen un colesterol alto, cuántas personas tienen colesterol bajo, entre otros, entre otros muchos datos.
Pero bueno, va a ver ahora un primer parámetro entre esta celda y esta celda de acá arriba existe este primer parámetro 'bins' y le puse 20.
va a ver
¿Qué pasa al reproducir esta celda?
Nos da un histograma muy parecido pero el intervalo del eje horizontal está repartido en 20 intervalos diferentes, yo le dije exactamente en cuántos valores distintos iba a repartir el máximo de estos valores.
va a probar ahora con un bins de 5 Si se dan cuenta sólo hay cinco valores, el primer valor que va desde poquito más de 0 hasta poquito más de 200, de 200 a 300 y así sucesivamente sólo hay 5 secciones y este de aquí tiene 20 secciones.
Entonces es un poquito más delimitada la gráfica de arriba, que la gráfica abajo.
Cuando necesitas un estudio un poco más formal te recomiendo que uses más divisiones para que puedas delimitar mejor tu información si es un estudio muy rápido o algo sencillo pues con poquitas divisiones del eje horizontal te puedes dar una idea general.
Entonces esto va a depender realmente de la aplicación que tú le quieras dar.
va a continuar con la libreta, ahora va a ocupar del Data Frame igual, el colesterol con un bins de 20 pero va a ponerle, que el tipo de histograma sea de 'step' o de 'paso' Le doy run y ahora en lugar de que esté coloreada nuestra gráfica sale simplemente la línea, el escalón o el paso que se podría traducir.
Entonces esta gráfica de aquí representa la misma formación que esta de acá pero, en lugar de hacer una figura sólida y rellena, es una figura que solamente tiene su contorno y que está vacía por dentro.
A lo mejor eso hace más fácil su lectura o su comparación con diferentes líneas.
Otro de los parámetros que se podra controlar es, si queremos que nuestro histograma sea vertical o sea horizontal.
Los histogramas que hemos hecho hasta ahorita, todos han sido verticales.
Bueno, va a agregar el parámetro orientation en este caso le va a especificar 'orientation = horizontal' va a ver qué pasa.
El resto de la gráfica, es la gráfica que ya habíamos hecho acá arriba, este histograma.
Entonces ahora va a ver cómo lo presenta Python.
Sí, yo le doy ejecutar, ahora mi histograma está horizontal.
Eso me puede servir a veces para visualizar más fácil algunos datos.
¿Qué más va a hacer con esto?
Les voy a recordar que todas las gráficas que hagamos en una misma celda, como sería el caso de graficar el colesterol y de graficar la presión sanguínea, si lo hago en una misma celda, se va a ver reflejado dentro de la misma gráfica.
Van a salir sobrepuestas una imagen con la otra.
Para facilitar nuestra lectura les voy a poner un alfa de 0.5 para que se vean un poco tenue si se distingan quizás con un poco más de facilidad .Bueno, le doy run y me sale esta gráfica.
El único problema con esta gráfica es que sin conocer el conjunto de datos yo no puedo saber si el naranja corresponde al colesterol o corresponde a la presión sanguínea.
O si el azul corresponde al colesterol o a la presión sanguínea.
Entonces por eso es muy importante que le agreguemos las leyendas, recordaran de los ejercicios de visualización pasada que la leyenda era un cuadro en el que especificaba cual variable era de cada color.
Bueno, para eso yo le necesito decir a mi histograma que estoy poniendo
¿Qué etiqueta va a tener?
En este caso el histograma que vino del Data Frame, de la columna de colesterol le voy a poner la etiqueta 'chol' y al que vino de 'trestbps' le voy a poner el mismo nombre.
En ese caso si yo le doy ahora run, ahora si me especifica que el azul es colesterol y el amarillo/naranja es la presión sanguínea.
Bueno, otra librería o paquetería que me permite visualizar este tipo de histogramas es está: 'seaborn' y por convención la va a nombrar 'sns'.
Voy a graficar con 'sns.
'sns.gráfica de distribución' y aquí el nombre nos dice que es un poco diferente al histograma, porque esta paquetería además de hacer las barras del histograma también nos da la función de distribución que más se asemeja a nuestros datos.
Recordarán por ejemplo, en nuestra parte teórica, donde nosotros veíamos este histograma y decíamos que era muy parecida a la forma de esta distribución.
Bueno 'seaborn' nos da esa opción.
En particular para que sea nuestro primer ejemplo voy a poner el parámetro 'kde = false'
¿Qué hace eso?
Nos quita la distribución, solamente nos deja ver el histograma.
De default nuestra paquetería maneja esto como verdadero.Entonces verdadero cuando queremos ver la distribución, falso cuando no queremos.
Ahorita por ser el primer ejemplo va a darle un falso, va a ver.
Le decimos haz una gráfica de distribución con la columna de colesterol del Data Frame que tiene.
Le damos a ejecutar y hace nuestro histograma.
Y aquí lo se podra observar.
Ahora va a ver qué pasa cuando, si queremos eso, los mismos datos.
Ahora el 'kde' lo va a poner en verdaderos, en forma de default no hay que especificarla y va a agregar este segundo parámetro 'rug' va a ver
¿Qué pasa?
y nos da esta gráfica.
No sólo nos da el mismo histograma sino que, también nos da la gráfica de distribución y con el parámetro 'rug' se podra ver estas líneas de abajo que es como se concentra los datos en nuestro histograma.
Ahora si yo quiero juntar 2 variables en una sola visualización, hay alternativas.
No sólo existe la alternativa de poner 2 histogramas en el mismo espacio sino que 'sns' el 'seaborn' nos da esta opción 'jointplot' Le voy a decir en el eje x, por favor ponme el parámetro 'thalach', que nos dice según nuestro Data Frame el máximo ritmo cardíaco que tiene este paciente, y en el eje y le voy a poner el colesterol.
va a intentar deducir si existe una relación entre el máximo ritmo cardíaco y el colesterol.
Pero va a darle play, a ver cómo se ve esta celda.
Esta celda nos presenta en el eje 'Y' el colesterol y en el eje 'X' el máximo ritmo cardíaco.
Ok
¿Qué son estos puntos?
Estos puntos es donde más se relaciona una concentración entre ambas variables.
Esta sección de aquí ,si en estos extremos no hay muchos datos porque no hay muchos pacientes que tengan una máxima ritmo cardíaco de cercano entre 80 y 100 tampoco hay muchos pacientes que tengan un colesterol que rebase los 400.
Entonces esta sección de aquí no hay datos, más hacia abajo ya empiezan a relacionarse.
Estos cuadrantes que se generan aquí es una relación entre la variable del máximo ritmo cardíaco y la variable de colesterol y ya se podra saber para qué colesteroles hay un máximo ritmo cardíaco y se podra empezar a relacionar pero quizás ver los datos con puntos, es un poco difícil 'seaborn' nos da esta opción.
Agregarle el parámetro tipo, tipo hexágonos.
va a ver, va a sustituir los puntos por hexágonos y a ver como se ven.
Ahora ya se ve un poco más claro, por las regiones oscurecidas son las regiones donde más personas tienen esa configuración por decirlo de alguna manera.
Hay muchas personas que tienen un colesterol cercano a 220 y un ritmo cardíaco cercano a 150, esta región está muy cargada entonces muchas personas tienen esta misma coincidencia.
Pocas personas andan en los extremos claros, múltiples en los extremos oscuros.
va a correr nuestra última celda.
Simplemente agregamos esta opción 'sns.set' 'sns.set' va a ver
¿Cómo cambia?
siendo que lo demás es lo mismo, fíjense cómo se estiliza, seaborn tiene esta opción el '.set' en el que le da una temática un poco más visual y más elegante con el que es posible que se vea mejor su trabajo.
Entonces cuando ya uno lo quiere meter como un reporte, como un trabajo, como una investigación vale la pena que sepan este tipo de configuraciones.
seaborn tiene muchísimas configuraciones de colores que va a ver en más vídeos pero, por el momento es todo lo que va a revisar de histogramas espero que este y las siguientes lecciones les permitan seguir entendiendo Visualización de Datos.
 

S3 Histogramas

HISTOGRAMAS

Continuaremos con nuestro estudio de Visualización de Datos pero ahora va a conocer uno nuevo va a conocer el 'Histograma'.
va a abrirlo en una carpeta que la tengan y va a ver.
¿De qué trata, ok?
Un Histograma es una representación de la distribución de los datos a lo largo de un intervalo continuo de la variable que se esta analizando.
El histograma se compone por un conjunto de barras que representan cuantas veces apareció un dato dentro de diferentes sub intervalos de las variable.
Aquí tiene Un Ejemplo: Nuestro 1er Ejemplo habla del rango de alturas que tienen algún número de alumnos y cuántos alumnos tienen cada uno de esos rangos, Por Ejemplo nuestro 1er renglón de la tabla dice que en el rango de altura entre 1.45 m y 1.5 m hay 3 alumnos, entre 1.5 m y 1.55 m hay 33 alumnos y esto continúa.
Rápidamente se podra identificar de manera visual cuál es el rango donde existen mayores cantidades de alumnos que es entre 1.70 y 1.75 metros hay un número de 231 alumnos.
Esto lo se podra representar en nuestra gráfica, en nuestro histograma asignando barritas cada vez más grandes a medida que el número de aquí aumente, en este caso, tiene que nuestra gráfica más grande corresponde al intervalo que mencionamos y el más pequeño a este intervalo de 1.45 y 150
¿para que nos sirven los histogramas?
o
¿Por qué son importantes?
Bueno, en los histogramas se podra evidenciar que distribución tienen las estaturas.
En este ejemplo en particular nuestra distribución está muy cargada en medio y muy poquita en los laterales.
Esta distribución se parece mucho a una distribución que existe en los fenómenos naturales, en los fenómenos industriales, que se conoce como 'Distribución Normal' Para los que no saben, de Estadística la 'Distribución Normal' es una representación de los datos con una forma simétrica respecto a una medida central usualmente 'La Media' que se encuentra muy común en la naturaleza.
La 'Distribución Normal' se estudia por sus cualidades, en particular algo que se conoce como una regla empírica.
¿Qué es una regla empírica?

Algo que tiene sustentos basados en cuántas veces se ha repetido o basado en las observaciones.
Es muy común que esta regla se cumplan para cualquier fenómeno que tenga una 'Distribución Normal'.
El 68% de los datos se encuentran a menos de una Desviación Estándar de la Media, sí nosotros aquí encontramos nuestra Media.
Si yo aumento una media más la Desviación Estándar y una media menos la Desviación Estándar, es decir, esta sección de aquí en esta parte de aquí tengo el 68% de los datos a dos desviaciones estándar tengo el 95% de los datos entonces cualquier fenómeno que se encuentre representado por una Distribución Normal, la mayoría de sus datos va a estar cerca de la media y muy pocos datos en los extremos positivos y en los extremos negativos de esta curva pero, la Distribución Normal no es la única distribución que existe.
Hay diferentes distribuciones, hay una distribución cuando los valores se centran más hacia la derecha que se llama, 'Distribución Asimétrica Negativa'.
Hay una distribución cuando los valores se centran más hacia la izquierda la 'Distribución Asimétrica Positiva'.
Hay una Distribución que se llama Triangular que genera más o menos un triángulo de manera rápida.
Hay una 'Distribución Uniforme' donde casi todos los valores tienen la misma probabilidad de existir, cada conjunto de datos genera una Distribución Diferente y una de las principales Ventajas de analizarlos por medio de un histograma es que nos permite encontrar.
¿Qué Distribución tiene nuestro conjunto de datos?
Entonces en las prácticas que va a estar haciendo con esta libreta, va a Primero Importar un Data Frame, Después a Graficarlo en forma de histograma y Después Encontrar la Distribución que esos datos generan.

S3 Práctica: Gráficas de Dispersión: Parte 1,

PRÁCTICA: GRÁFICAS DE DISPERSIÓN: PARTE 1

Continuaremos utilizando la misma libreta de Gráfica de Dispersión pero ahora va a ver la parte de código, para esto hemos traído un Ejemplo tomado de 'Kaggle' donde va a analizar cómo funciona la Industria del Cine, de las Películas a través de esta Base de Datos.
La Base de Datos que se encuentra en esta liga, se podra abrir, va a ver qué es lo que va a ver, de este conjunto de Datos está en Inglés, el Título es 'Industria de las Películas', 3 décadas de películas,
¿Qué tiene este Data Set?
Nos plantea la pregunta, '¿La Industria de las Películas está muriendo?' también nos plantea la otra pregunta,
¿Netflix es el Nuevo Rey del Entretenimiento?
Bueno, el Investigador que hizo este dato se tenía estas inquietudes y decidió empezar a ver cuales son los factores de mayor impacto que intervienen en el éxito de las películas y quién se preguntó,
¿Cuáles son las películas más exitosas si los actores intervienen?,
¿Si el género interviene en que sea exitoso o no?,
¿Si el Rating del Usuario Interviene?, Entre otras cosas más, bueno, esa es la manera rápida que tiene este Data Set.
Este Data Set tiene de contenido 6,820 películas, es decir, 220 películas por año en este Intervalo de años y cada una de las películas tiene un atributo diferente.
Sabemos el Presupuesto con el que se hizo, la Compañía, el País, el Director, el Género, Cuánto nos Devolvió de Dinero en Taquilla, el Nombre, el Rating, la Fecha en que se Estrenó, el Tiempo de Duración, el Score, los Votos, Quién es el Actor Principal, Quién es el Escritor y Cuál es el Año.
Ya que sabemos más o menos que es el Data Set que voy a ocupar, le doy Descargar.
Si están trabajando en este en esta parte con Kaggle es muy probable que les exija una cuenta para poder descargar, es probable que ya la hayan tenido porque en ejercicios pasados la hemos utilizado, si es así simplemente Ingresen, Descarguenla y si no es así Creen una cuenta de Kaggle y descarguen.
Acuérdese es importante que lo grabamos en nuestra carpeta de Data que está en la misma carpeta de nuestro cuaderno, en mi caso ya lo tengo descargado.
Yo puedo venir a mi carpeta de cuadernos, tengo mi Data y tengo esta carpeta que se llama Movies, en esta carpeta está ese archivo, Ese Archivo lo puedo abrir con Excel, Por Ejemplo, y está toda la información pero, quedamos que son muchísimos, muchísisimos los datos.
Bueno, va a regresarnos a nuestra libreta.
Como estamos ocupando un Data Set va a importar Pandas para poder trabajar con él y por 'pandas as pd' como en veces pasadas lo hemos usado y empieza nuestro ejercicio.
Nuestro Data Frame es igual a lo que lea Pandas del Archivo Movies.
Fíjense que nuestra Ruta es: 'data/movies/movies.csv' si ustedes deciden ponerla en otras rutas simplemente tienen que modificar esa instrucción.
Y me sale este error, este error hay algunas Bases de Kaggle que nos presentan este pequeño errorsito con esta: 'UnicodeDecodeError utf-8' la forma de solucionarlo es hacer una pequeña modificación a nuestra instrucción 'pd.read_csv'
¿Por qué les mencionó esto?
Nosotros los invitamos a que si esta Base de Datos no les gusta, repitan la práctica con una Base de Datos diferente pero, es probable que tenga un formato distinto entonces, les pusimos este Ejemplo en particular para que vean
¿Cómo se soluciona?
Más abajo pusimos la instrucción idéntica pero, le pusimos esta extensión 'encoding = "cp1252" si yo, le doy run, ahora si lee bien el archivo.
Entonces, si están explorando por su cuenta diferentes Bases de Datos y les aparece este errorsito de 'UnicodeDecodeError utf-8' no puede ser decodificado, simplemente agregarle este en coding y con eso ya van a poder trabajarlo pero, bueno
¿Como sé que lo que leÍ está funcionado?
De igual forma que en otras veces, voy a ocupar la instrucción 'df.head' le doy run y con 'head' me presentan los 5 primeros datos de mi tabla.
Tengo para 5 películas diferentes 1.
Stand by me 2.
Ferris Bueller's Day Off 3.
Top Gun 4.
Aliens 5.Flight of the Navigator De estas 5 toda la información que antes mencionamos.
El Presupuesto, La Compañía, El País, El Director, entre otros datos.
Bueno, va a ver que se podra aprender de esto de una forma rápida, que se podra observar, para eso Pandas tiene una función muy amigable que se llama 'df.describe' ya la hemos ocupado anteriormente, en anteriores vídeos pero va a ver qué nos arroja.
Si yo le doy describe, me acorta mucho mis columnas si se dan cuenta, aquí abajo se mantiene 'Budget' igual que arriba, se mantiene 'Gross' igual que arriba pero estas 4 columnas: Company, Country, Director y Genre las omitió, estas 4 las omitió por que discribe se centra en las tablas con valores numéricos, no en valores descriptivos o en texto.
También ha omitió la columna de Nombre, de Rating, de Fecha de Estreno pero, sí respeto la columna de Run Time, la columna de Score, la columna de Votos y la del Año.
Bueno va a ver rápidamente estos datos Lo primero que va a gráficar o al menos nuestra primer columna, que está aquí es la de presupuesto, nos dice que hay 6,820 elementos en esta columna tiene una Media, que se ve aquí, una Desviación Estándar y un Mínimo de '0' pero, es imposible que se haga una película con $ 0.00 USD entonces, seguramente esta Base de Datos tiene por ahí errores equivocados dentro de sus 6,820 registros porque no hay una película que se haga con $ 0.00 USD es la primera cosa que salta a la vista que tiene que corregir.
Para eso va a ocupar la instrucción 'df.drop' o 'Dejar Caer' en español, sería de nuestro Data Frame va a buscar todos los que tengan un budget de $ 0.00 USD y los va a quitar de nuestro Data Frame.
Bueno, va a darle Ejecutar y ahí ya se eliminaron todos los registros que tengan un budget de $ 0.00 USD va a darle escribir para ver
¿Qué cambio?
fíjense ahora de escribir nos dice qué número elementos son 4,638 a diferencia de mis 6,820 Hay casi 2,200 elementos que tienen un presupuesto o un budget de $ 0.00 USD que para nuestros estudios en particular hemos desechado de este Data Frame para poder centrarnos en los que sí tienen un significado.
Para graficar igual que nuestras Gráficas de Línea va a ocupar la librería matplotlib que se importa con la instrucción 'import matplotlib.pyplot as plt' y va a ocupar la instrucción '%matplotlib inline' para que las gráficas que se generen se hagan en esta libreta.
Le doy run y le digo vas a hacer una gráfica, un plot del tipo 'scatter' que scatter en inglés es como es el equivalente a dispersión.
va a hacer un Gráfico de Dispersión
¿Qué va a hacer en este gráfico de dispersión?
el eje horizontal va a ser el presupuesto y el eje vertical va a ser
¿Cuánto dinero nos produjo?
Entonces va a darle ejecutar.
En esta gráfica que se ve llena de puntos, cada uno de esos puntos representan una película diferente y nos dice más o menos cuánto se invirtió contra cuánto recuperó esta primera gráfica visualmente no nos da una información precisa, no se podra entenderla claramente pero, nos podría ser la idea de que las películas que poco invirtieron poco ganaron contra las películas que mucho invirtieron y mucho ganaron, como esta de acá.
Esa podría ser una pequeña primera conclusión que no necesariamente está bien.
Para eso necesitamos analizar más los datos para ver que lo que va a concluir sea correcto.
Bueno, les voy a presentar una ecuación que se llama 'La Ecuación del Retorno de Inversión' por sus siglas 'ROI' y nos dice: 'ROI = beneficio - inversión / inversión' El beneficio que me trajo menos la inversión que yo gasté entre la inversión.
Entonces el 'ROI' me va a decir el porcentaje (%) que gane, contra lo que invertí y le digo a mi Data Frame en la columna 'ROI' que es la que voy a agregar, va a ser igual al Data Frame de lo que me trajo de Beneficio menos (-) el Data Frame de lo que gasté entre (/) el Data Frame de lo que gasté y voy a centrar este estudio para filtrarlo de cierta manera entre los que tengan un ROI > 1.5 es decir, aquellos que tengan una recuperación de lo que invirtieron más el 50% como mínimo.
Aparte mi Data Frame también va a estar filtrado por solamente las películas que tengan 7 de score o más y las películas que tengan un poquito más de 0.5e8 en Dólares Le doy run, ya me filtro, ya ahí yo debo de tener un Data Frame un poco más entendible con las características de qué solo las películas que tuvieron un retorno de inversión de más de 1.5 se van a ver y un score de más de 7.
va a graficar este Data Frame con la función 'SCATTER' 
 

S3 Gráficas De Dispersión

GRÁFICAS DE DISPERSIÓN

¿Qué son los gráficos de dispersión?
Les preparamos, de la misma forma que en el tema anterior, una libreta que se llama: Gráfica de Dispersión, esa libreta la descargan igual.
Yo les recomendaría que en el mismo lugar que los otros cuadernos.
Y acuérdense que es importante que lo que descarguemos lo pongamos en la carpeta que dice "Data" para que pueda ser compatible y utilizado.
En caso de que no lo hagan así, pues van a tener que buscar una carpeta adecuada y poner toda la ruta.
Bueno, va a nuestro archivo.
Nuestro archivo de gráfica de dispersión empieza de la misma forma, con una pequeña explicación.
¿Qué es una gráfica de dispersión?
Una gráfica de dispersión es la representación visual de una colección de puntos, colocados en un plano utilizando coordenadas cartesianas.
En la pantalla, se ve un Primer Ejemplo.
En este Primer Ejemplo tiene: El tiempo de estudio que le tomó a varios alumnos prepararse para una materia y La Nota que obtuvieron a la hora de presentar el examen.
La 1er persona se preparó durante media hora y obtuvo una calificación de 55 , La 2da persona se preparó 1 hora y obtuvo una calificación de 62, La 3ra persona se preparó hora y media y obtuvo 71.
Así cada uno de este par de datos representa: El tiempo que invirtió una persona y La nota que obtuvo.
Esos puntos se pueden representar en una cuadrícula y esa cuadrícula se llama 'Gráfica de Dispersión'.
Entonces aquí tiene un primer Eje, Horizontal, que se representaría 'El Tiempo de Estudio' y un Eje Vertical que representaría 'La Nota Obtenida' donde se intersecten estos 2 datos yo voy a poner mi Primer Punto.
Este punto corresponde a 1/2 Hora y el 55 de Calificación.
Ese punto corresponde a 1 hora y a un poco más de 60 a 62 en este caso y así sucesivamente.
En nuestro primer Ejemplo de Gráficas de Dispersión, cada uno de los puntos representa un alumno, como les comentaba a primera vista es muy posible que se infiera una relación favorable a que: "Mientras más horas estudies, mejor nota consigas" y de manera inversa "Mientras menos estudies, menos nota tengas" pero, para este Ejemplo en particular hay un caso que salta a la vista, que no cumple con lo anterior.
Si observan, esta persona solamente estudio 2 horas y aún así fue una de las notas más altas.
Este tipo de gráficas, nos permite ver valores diferentes, por llamarlos de alguna forma.
Valores que no se comportan de una manera similar a la población, o Valores Atípicos como también lo se podra conocer.
Ya lo habíamos platicado en vídeos anteriores pero, aquí en este tipo de representación saltan mucho a la vista.
Ahora continuaremos utilizando esta libreta pero, en la parte práctica.

S3 Práctica: Gráficas De Línea: Parte 2

PRÁCTICA: GRÁFICAS DE LÍNEA: PARTE 2

Ahora va a graficar en la misma gráfica 2 cosas.
En esta celda va a graficar el 'Valor Mínimo' y el 'Valor Máximo'.
Entonces, si yo le doy run, tengo aquí esta gráfica, esta Gráfica en Azul Low, en Naranja High, los colores se asignaron automáticamente pero, yo podría modificarlo igual que como teníamos aquí agregando un parámetro, ahorita lo voy a dejar de esta manera.
Nuestros 2 datos se parecen mucho, así que, nuestros valores se Auto-Escalan y si se dan cuenta en un eje de 8 y de 14 pero
¿Qué pasa si ahora agregó a esa misma gráfica un valor muy alejado?
Bueno para este Ejemplo va a agregar también el Valor Máximo de 'BIMBO' en la siguiente celda.
Nuestra siguiente celda va a graficar el Mínimo de 'CEMEX' el Máximo de 'CEMEX' y el Máximo de 'BIMBO' y va a darle PLAY, a ver
¿Qué pasa?
Al momento de darle Play se genera esta gráfica.
Esta gráfica tiene 3 líneas: La 'Naranja' para el Alto de 'CEMEX', La Azul para el Bajo de 'CEMEX' y el Verde para El Alto de 'BIMBO' pero, se dan cuenta que, gracias a que se incluyó BIMBO, nuestra escala creció tanto que ya es muy difícil distinguir los valores de CEMEX.
Muchas veces cuando se trabaja con datos ocurre este tipo de cosas y la forma que podríamos solucionarla es generando 2 gráficas, Una para BIMBO y Una para CEMEX.
Para que Cada Uno se auto-ajuste Bueno, Python lo puede hacer de la siguiente manera.
En nuestra siguiente celda le decimos utilizando el 'PLT' de matplot voy a hacer una figura y esa figura va a tener 2 Sub-gráficas: La Primera Sub-gráfica va a incluir a 'CEMEX' Bajo y al 'CEMEX' en Alta y nuestra Segunda Sub-gráfica va a incluir a 'BIMBO' en Baja y a 'BIMBO' en Alta.
Si yo gráfico esto (Le doy run) Me genera esta información.
Ahora sí, cada par de valores tiene su propia gráfica dentro de una imagen compartida pero, yo sé que ver Azules para Low Alta es con Naranja en ambos casos pero, no sé cuál es de CEMEX y cuál es de BIMBO.
va a continuar con este mismo código pero, lo va a modificar un poco.
En nuestra siguiente celda tiene el mismo código pero se incluyó esta 'plt.title CEMEX', 'plt.title BIMBO' que le estoy diciendo la gráfica, la Sub-gráfica de arriba le voy a dar el Título de CEMEX, La Sub-gráfica de abajo le voy a dar el título de BIMBO.
Ejecutó...
y nos aparece este CEMEX y BIMBO y ahora si ya tiene bastante más sentido y una persona que no no conocía de estos datos con la simple vista puede ver Que significa cada una de estas.
Nuestro último Ejemplo es un Ejemplo un poco más sofisticado, yo sé que aparentemente tiene demasiado código y que si esta es su primera vez podría parecerte difícil.
Pero toma tu tiempo, revisa cada una de las instrucciones, muchas veces los nombres de las instrucciones son intuitivas, muchas veces se podra aprender un poquito de ellas.
Empiezo diciendo lo que voy a graficar, una figura que va a haber un 'Sub Plot', la primera Sub-gráfica.
En esta gráfica voy a graficar de CEMEX el valor Bajo con el color 'r', con la línea punteada, ocupando la etiqueta Low, con un alza de 0.3, es decir, el 30% del color.
Tengo una de valor Alta ocupando el color Azul, con línea punteada, la etiqueta es Alta y tiene el 30% del color y tengo el valor de Cierre que su color va a ser Verde, su etiqueta es Cierre, con el 100% del color.
Esa se va a llamar CEMEX.
En esta nueva instrucción 'xslim' yo delimitó los valores del eje 'x' y delimitó los valores del eje 'y'.
Antes se auto ajustaban los valores, ahora yo se los estoy dando específicamente.
Bueno, Le digo que también va a imprimir su leyenda.
A continuación voy a hacer exactamente lo mismo, en la Gráfica II pero con los valores de BIMBO.
Entonces que se va a ver en este, en esta figura se van a ver 2 gráficas y en cada una de las gráficas va a tener 3 líneas, una línea punteada Roja, que va a representar el valor LOW.
Una línea punteada Azul, que va a representar el valor de ALTA y una línea Verde sólida que va a representar el valor de CIERRE.
va a darle Play y va a ver si se cumple.
Aquí la tiene.
Generar las gráficas muchas veces No es nuestra función principal sino compartir esa información para eso también incluimos esta última instrucción 'savefig', salva la figura, guarda la figura.
Yo le asignó un título y la terminación '.png' que puede ser sustituida por '.jpg', según el formato que quieras, y en donde lo graba.
Esta gráfica que hicimos la va a grabar en la misma carpeta donde guardamos el cuaderno.
Si yo me voy a esa carpeta donde guardamos el cuaderno y la busco, Aquí esta, 'Gráfica de línea.png' y la abro Aquí tiene nuestra gráfica, bueno, este cuaderno ha terminado hasta aquí.
Hemos visto las funciones principales de
¿Cómo generar una gráfica de línea?
y te invito a que continúes con otro tipo de gráficas.
 

S3 Práctica: Gráficas de Línea: Parte 1

PRÁCTICA: GRÁFICAS DE LÍNEA: PARTE 1

Para este ejemplo decidimos ocupar 2 Bases de Datos diferentes tomadas de los datos históricos de CEMEX y de BIMBO.
Aquí están las ligas para que uno los descargue.
Si yo me voy a la liga de CEMEX me abre mi página y aquí está donde dice Datos Históricos.
Aquí se ven los Datos de
¿Cómo abre la bolsa, las acciones en la bolsa?,
¿Cuál fue el valor máximo que alcanzaron, el valor mínimo?
Y,
¿Cómo cerró?
Seguramente nuestra Base de Datos tiene más información pero, ahorita nos va a concentrar en esas 4 columnas.
Para poderlas ocupar le damos en donde dice: "descargar" y se nos descarga.
En ese momento es muy importante que nosotros copiemos esos archivos en esa misma carpeta, donde estamos copiando nuestros cuadernos, va a generar una carpeta que se llame Data.
Y dentro de Data, en lo personal, creamos una carpeta que siga el lineal y aquí pusimos ambos archivos.
Ya me vieron descargar el de CEMEX de la misma forma descarguen el de BIMBO y copienlo aquí.
¿Por qué les hago énfasis en esto?
Bueno, si nos regresamos a la libreta, ustedes pueden ver que nuestra libreta dice Data/CEMEX Data/BIMBO si ustedes deciden descargarla y guardarla en otra carpeta no pasa nada simplemente es necesario que se regresen a estas instrucciones y modifiquen con los valores donde ustedes hayan grabado el archivo.
Yo sé que hay gente que no es tan intuitiva y por eso se los platico y ahí si no te considerás con las habilidades necesarias, simplemente copiar en la carpeta de Data, luego crea una carpeta de lineal y ahora si sube tus archivos aquí.
Pero, bueno va a continuar ahora sí con la libreta.
Como va a ocupar un Data Frame que represente estos datos, va a ocupar pandas como lo hemos visto en otros vídeos, así que nuestra primera instrucción le damos a ejecutar.
Ya tengo cargado pandas en mi cuaderno va a grabar la Base de Datos de CEMEX en la variable 'cemexpd.read csv' 'cemexpd.read csv'.
CSV corresponde a las siglas Comas Separated Values.
Valores Separados por Comas que son archivos en los que generalmente se suele grabar este tipo de información.
Aquí tiene también la variable bimbo y la va a leer con la misma instrucción pero se graba en una diferente variable.
Para garantizar que hicimos esto bien va a imprimir los 5 primeros elementos de la tabla de CEMEX, para eso ocupamos la instrucción 'cemex.g' Si le damos run, se ve, aquí está, esta información viene del archivo CEMEX pero ya está siendo leído a través de Python y nos muestran las columnas que teníamos similares a las que estaban en la página web que vimos hace rato.
Está open, está high, low, close y unas variables adicionales que pare este ejercicio no va a ocupar.
Continuamos con el cuaderno y encontramos esta información cemex.index = day time Este daytime, si le damos run graba el valor con el que inicia la tabla de CEMEX para tener el intervalo inicial, tanto de CEMEX como de BIMBO ahora, todo esto fue para leer y poder trabajar en pandas esta información pero, el objetivo es hacer una gráfica.
Bueno, ya que tiene una información que va a graficar, va a ocupar la librería matplotlib y que se importa de la siguiente forma: 'import matplotlib.pyplot as plt' 'plt' es una convención en la que muchas personas que trabajan en esta área han llegado a acuerdos y es una variable muy común y utilizada.
va a incluir esta 2da instrucción, %matplotlib inline hay algunas versiones de Python en las que no es necesario.
Hay algunas versiones de Python en las que si se necesita pero lo que va a hacer es que todas las gráficas que estemos trabajando en este momento se van a imprimir aquí mismo en nuestra libreta y esta instrucción lo garantiza.
Como recomendación yo les sugiero que lo pongan, entonces va a darle run y ahora sí le va a decir con matplotlib graficame el Data Frame CEMEX pero no me interesa graficarlo todo.
Sólo voy a graficar los valores de Cierre
¿Cómo sé este nombre?
Este nombre corresponde al nombre de cualquier columna.
Yo puedo graficar cualquier columna simplemente escribiendo su título.
En este caso en particular voy a graficar la salida y aquí tiene nuestra gráfica.
se podra ver cómo se va desarrollando el tiempo, se podra ver cómo se van desarrollando los valores a través del tiempo y aquí está nuestra primera Gráfica del Linea.
Ya lo hace automáticamente, yo no tuve que ir asignando o buscando valores donde se intersectaran sino que Python lo hizo por mí.
Ahora estas gráficas son editables, uno las puede personalizar.
A esta instrucción en particular le voy a dar run pero, la voy a estar repitiendo varias veces simplemente para que ustedes vean modificaciones.
Esta instrucción plot, además de ponerle
¿Qué voy a graficar?
Puedo ponerle 2 parámetros diferentes.
Mi primer parámetro que se llama Estilo de Línea, que está separado de una coma después de los datos que yo voy a representar, y mi segundo parámetro que se llama 'Marker' o 'Marcador'.
Entonces en ese en particular fíjense como mi gráfica es un conjunto de una línea
¿Qué pasa si yo cambié este menos ( - ) por el signo de más ( + ) ?
Si lo vuelvo a ejecutar ahora mi gráfica está compuesta por una gráfica de línea pero, en lugar de estar unidos por líneas está unido por el signo más ( + ).
Si yo uso el link, el asterisco ( * ) y le doy run pasa exactamente lo mismo.
Lo más usual en este tipo de gráficas es ocupar líneas, por eso su nombre, pero bueno, también puedo jugar con este parámetro 'linewidth' que es el ancho de la línea.
Ahí está con un ancho de línea 21 pero si le puedo poner uno de ,3 por ejemplo, tengo una línea muchísimo más gruesa o de 4.
Hay más parámetros que se pueden personalizar.
Cuando uno está utilizando este tipo de instrucciones y no conoce los parámetros lo más usual es que lo busquemos en línea, entonces si uno quiere buscar en línea yo les recomiendo simplemente que pongan 'matplotlib plot' y busquen los parámetros en cuestión.
Más adelante van a ir saliendo nuevos parámetros y conforme vayan saliendo se los voy a ir comentando.
Voy a continuar, sigo graficando la misma información entonces CEMEX close pero ahora le voy a dar el color Verde por eso la letra 'g' a diferencia del anterior que era Azul por eso la letra 'b' de 'Blue' y 'g' de 'Green' de Verde en inglés.
Y ahora les voy a presentar este nuevo parámetro 'Alfa', aquí tiene 3 opciones de alfa ahorita va a ver qué hace cada una de ellas.
Y este nuevo parámetro, etiqueta.
Bueno, primero que nada voy a reproducir esta celda para ver
¿Qué hace?
en esta celda me aparecieron 3 gráficas porque matplotlib, si tú le dices que grafique muchas cosas dentro de una sola celda todas las va a gráficar dentro de la misma gráfica.
Entonces en lugar de mostrar las 3 gráficas nos va a una gráfica donde hay 3 cosas.
Nuestra primera cosa es la tabla Close en Verde, con líneas, con el parámetro alfa de 1 y con la etiqueta de 1.
Es esta, la original, la original que teníamos antes está en Verde y está con el 100% del color.
Nuestro segundo elemento que estamos graficando es el doble del valor de clausura.
Todos los valores que teníamos original los va a multiplicar por 2.
La va a mostrar en verde con el símbolo de línea pero, con el 50% del color.
Por eso nuestra línea de aquí arriba se ve muchísimo más tenue que la línea de acá abajo, y a esa le asignamos una etiqueta de a '0.5'.
Nuestro tercer elemento es los valores de salida pero multiplicados por la mitad es decir, el 50% de lo que valían, por eso esa línea está muchísimo más chica.
Tiene un color verde, el símbolo de línea y tiene un alfa de 0.1 es decir, el 10 por ciento de la intensidad del color, tiene una etiqueta de 0.1
¿Para que nos sirven esas etiquetas?
Si se dan cuenta, no hay una forma de que una persona a simple vista pueda decir que es cada una de estas gráficas.
Yo se los tuve que explicar pero, supongamos que queremos hacer que cualquier persona lea fácilmente esta tabla, de esta gráfica.
Para eso va a ocupar esta instrucción que está aquí, esta instrucción que tiene un signo de gatito (#) se llama comentario.
Los comentarios no son instrucciones hasta que se quita el símbolo de gatito (#), si yo lo quito y le vuelvo a dar ejecutar, fíjense del cambio que tuvo.
Se creó este cuadro y en este cuadro, el que se conoce como leyenda, nos dice la línea verde oscura es igual a 1.0, la línea verde un poco más clara es a 0.5, en la línea muy clara es a 0.1
¿De donde salieron estos tres valores?
Son los tres de las etiquetas que yo le di.

S3 Gráficas de Linea

GRÁFICAS DE LÍNEA

En esta parte de tu curso te presentaremos diferentes formas de representar un conjunto grande de datos, también te mencionara consejos que te permitirán escoger la visualización más adecuada para diferentes situaciones.

Se aprende a utilizar MatPlotLib en conjunto con Python para generar gráficas de línea, gráficas de dispersión, gráficas de caja, histogramas y mapas de calor.

El primer tipo de gráfico con el que va a empezar a trabajar es el gráfico de línea, para eso hemos preparado una Libreta de Python que ahora, a diferencia de las anteriores, tiene una parte teórica, para que tú puedas venir y revisarla al ritmo que tú desees, y una parte práctica.

Ahorita, empieza a analizar la parte teórica juntos y después haremos el ejercicio práctico propuesto, ir a la carpeta donde hayan descargado los cuadernos y ubicar el que diga 'Gráfica de línea'.

Aquí está la libreta de 'Gráfica de línea', la libreta empieza con una parte teórica.

Las gráficas de línea generalmente se utilizan para representar tendencias del comportamiento de una variable o para evidenciar la relación de dos o más variables durante el mismo intervalo de tiempo.

Un Ejemplo, muestra la gráfica cuánto vendió una compañía durante cada mes.

La tabla da la información, al mes de Enero le corresponde una cantidad, al de Febrero una diferente, Marzo, Abril, Mayo y así sucesivamente.

Cada mes está relacionado con una cantidad ¿Cómo pasamos de esa tabla a una gráfica?

No es algo tan complicado pero, para las personas que jamás lo han hecho la explicación es la siguiente.

Se asigna a cada uno de los Ejes un significado, en el caso que tiene aquí, el Eje Horizontal representa los Meses, es decir, la 1ra Columna y el Eje Vertical representa lo que Se Vendió, es decir, nuestra 2da Columna.

Tiene que buscar en el punto donde intersecta.

El primer valor de mi eje 'x' con el número 120,000 entonces aquí está mi eje 'x' y donde se junte con 120,000. Ahí se va a poner el punto.

El 2do valor va a ser Febrero con 130,000 y así sucesivamente.

Una vez que ya se tiene todos los puntos, lo único que es necesario hacer es unirlos con una línea por eso se llama la 'Gráfica de línea' pero bueno, nuestro primer ejemplo ha representado todo el año de ventas de una compañía.

Los elementos principales de este gráfico, serían que tiene un Eje Horizontal que representa el Tiempo un Eje Vertical que representa el intervalo continuo de ventas, los puntos de datos, la intersección en esta cuadrícula de la 'x' con la 'y' y la línea.

Hay otros elementos que a lo mejor no están detallados aquí pero gracias a que se conoce la anatomía de una gráfica se podrá identificar como: El título o La leyenda.

Ese título permite saber que estamos viendo y esta leyenda permite saber ¿Qué es exactamente una línea?

Un Ejemplo con 2: Ventas y Ganancias, en esta gráfica se está comparando ¿Cuánto se vendió? contra ¿Cuánto se ganó?

Porque no necesariamente las ventas representan cuanto se gana, porque a veces vender más significa que tienes que pedir más producto y tienes que gastar mas.

Otro Ejemplo del contexto, aquí en esta tiene ahora, una tabla con 3 columnas.

Un eje 'x' que va a ser continuo para ambas que son los meses y 2 datos que quiero representar en la gráfica.

Las ventas y Las ganancias.

En las Verdes, va el valor de las Ventas, en Azul el valor de las Ganancias.

La gráfica de la misma forma que el anterior, ubicando la intersección entre 'Enero' y el número 3,257 y se coloca un Punto Verde, Febrero y el número 9,723 y se coloca otro Punto Verde y así sucesivamente.

Cuando termino de representar todos los puntos verdes los uno con una línea verde y al terminar, repetir y hacer lo mismo pero, ahora con los puntos Azules y así se construye una gráfica de forma manual o utilizando el Software como de edición de imágenes pero el objetivo del curso no es hacerlo de esa manera.

El curso va a buscar hacerlo a través de Python, el resto del vídeo va a tratar de demostrarte cómo hacer esto de una forma automática a través de un conjunto de datos.

S3 Big Data: La Importancia de la Visualización

BIG DATA: LA IMPORTANCIA DE LA VISUALIZACIÓN


La visualización de los datos es de suma importancia en la actualidad, ya que los datos crecen a ritmos agigantados, entender los datos e interpretarlos para su máximo aprovechamiento es una necesidad.

El siguiente artículo te apoyará en comprender su relevancia y aplicaciones.

S3 Elementos de un Gráfico

ELEMENTOS DE UN GRÁFICO

En esta parte de nuestro curso hablare de diferentes tipos de gráficos pero, antes de empezar a ver Cada uno de los Tipos de Gráficos por separado va a analizar los 'Elementos en Común' que suelen tener los gráficos.

Para esto hemos preparado una primera libreta de Python muy sencilla que solamente cuenta con una imagen de una gráfica pero, no creas que por eso es menos importante. Se va a ver cada uno de esos detalles y mostrarlos en la imagen.

Para eso va a abrir nuestra libreta llamada 'Anatomía' que seguramente descargarse y grabaste en alguna parte de tu computadora.

En mi caso está en el escritorio, aquí tiene en los cuadernos, este de 'Anatomía'.

Es a través de Jupyter, ya se han hecho varias prácticas con esto, y aquí está nuestra gráfica.

En esta imagen se podra ver Un Ejemplo, de una Gráfica.

Ese Ejemplo fue tomado de 'matplotlib'

¿Por qué es matplotlib importante para nosotros?

Porque la librería que va a estar ocupando durante todo el desarrollo de estas prácticas para generar gráficas, o al menos, es una de ellas.

Bueno, empieza.

La anatomía de una figura empieza con su 'Título'.

Aquí está mencionado.

También, está, para que tenga un poco de sentido para nosotros tiene que revelarnos la información de
¿Qué se está viendo?

Eso viene incluido en el Eje y su Etiqueta.
el 'Eje Y', el 'Eje X' y su etiqueta.
Y ese Eje 'X' y ese Eje 'Y' debe de estar seccionado o debe tener algún tipo de indicaciones para que nosotros se podra saber
¿De qué está hablando?
Por Ejemplo ese 'xy' está contabilizado desde el 0 hasta el 4, bien en estas líneas grandes y estas lineas pequeñas.
Aquí tiene una línea menor, una línea mayor.
tiene por aquí, ahora si, el dibujo de nuestra gráfica.
En este caso se podra poner líneas azules, líneas rojas, puntos, bueno.
Si quiero saber exactamente
¿Qué específica cada una de estas líneas?
Yo lo puedo indicar en un cuadro que se llama leyenda y aquí voy a decirle a la persona que esté leyendo
¿Qué significa cada una de esas gráficas?
Nuestra intersección entre ambos Ejes se llama 'Grid' o 'Rejilla', en español, y nos permite visualizar básicamente, 
¿Cuánto vale un valor?

Por Eejemplo, en esta sección de la gráfica azul yo puedo decir: Ah bueno, el valor de la 'Y' es 3 y el valor de la x; Siguiendo la línea, debe estar cerca entre 1.5 y 1.75.

Como delimita la gráfica con estas líneas 'Spines'.

Esta el spine que delimita la parte hacia abajo, el spine que limita la parte hacia la derecha pero, no te preocupes, esto simplemente es un vídeo informativo para que sepas

¿Cómo se van a ver nuestras gráficas?

Todos estos elementos o la gran mayoría de ellos son evitables y a lo largo de los siguientes vídeos va a ir viendo uno a uno ¿Cómo se editan?, ¿Cómo se agregan o Cómo se eliminan de una gráfica?

Según sea la necesidad.

S3 Importancia de las Gráficas en la Ciencia de Datos

IMPORTANCIA DE LAS GRÁFICAS EN LA CIENCIA DE DATOS

El poder representar grandes cantidades de información se ha convertido en uno de los principales retos a los que se enfrentan los Científicos de Datos pero ¿Qué ventajas obtiene de visualizar correctamente los datos de mi proceso?

Mejorar el Proceso de Toma de Decisiones, Reducir el Tiempo y el Costo que se utiliza para Analizar la Información, Identificar el Comportamiento de los Datos y su Tendencia, Predecir el Comportamiento Futuro de los Procesos, Entre Otras.

Para Procesos Estructurados como Ventas, Encuestas con Respuestas Numéricas o Procesos que Manejan Variables Cuantitativas, los Gráficos Tradicionales como 'Las Gráficas de Barras', 'Las Gráficas de Pastel, 'Los Histogramas', suelen ser un medio eficaz.

Desafortunadamente el crear un gráfico simple, no siempre es suficiente para poder representar correctamente toda la información, debido a que la información puede tener un tamaño enorme o que es posible que existan múltiples relaciones entre las variables o que los datos con los que se trabajan no están estructurados en esas situaciones.

Es necesario utilizar otro tipo de gráficos como Mapas de Calor, Diagramas de Dispersión, Gráficas de Relación, entre otras cosas.

Los 5 Principios Fundamentales para la correcta presentación de los datos son:
  1. Simplificar los Datos y presentar solamente la información y variables adecuadas.
  2. Intentar Resumir toda la Información en pocas imágenes con la finalidad de poder comprender fácilmente los datos y evitar errores, 
  3. Elegir la mejor manera de ¿Cómo puede representar la información para captar mejor la atención de los interesados?
  4. Presentar los mismos datos utilizando diversas representaciones con el fin de ayudar a los investigadores a generar nuevas conclusiones.
  5. La representación de los datos seleccionados debe ser siempre simple y debe tener una fácil interpretación.
Los datos que se involucran en los problemas actuales no solamente han crecido en tamaño y en complejidad con respecto a los problemas que antes se buscaban solucionar, sino que con la introducción del Internet y los sistemas computacionales complejos; los procesos suelen adquirir su información de múltiples fuentes lo cual tiene nuevas dificultades a la hora de estar analizando.

En nuestros siguientes temas se estará hablando de diferentes tipos de gráficas y cómo se utilizan en Python.

S3 Qué es la Visualización de Datos

¿QUÉ ES LA VISUALIZACIÓN DE DATOS?

La visualización de datos permite presentar la información abstracta de una manera gráfica que permita el científico de datos observar Grandes Conjuntos de Datos, de una manera sencilla y atractiva lo cual Facilita la 'Toma de Decisiones' o la 'Identificación de Posibles Patrones' dentro de los Datos.

En esta sección, se presentara diferentes formas de representar un conjunto grande de datos.

También, se mencionara consejos que permitirán escoger la visualización más adecuada para diferentes situaciones.

Se aprenderá a utilizar "matplotlib" en conjunto con 'Python' para generar Gráficas de Línea, Gráficas de Dispersión, Gráficas de Cajas, Histogramas y Mapas de Calor.

La Correcta visualización de los Datos, permite que se realice una 'Abstracción de la Información' más valiosa, de una forma rápida e intuitiva, sin la necesidad de tener que Analizar Rigurosamente los Datos.

S3 Informacion Importante

INFORMACIÓN IMPORTANTE

En esta semana lograrás lo siguiente:
  1. Comprenderás la importancia de la correcta visualización de datos.
  2. Distinguirás los tipos de visualizaciones de datos y seleccionarás el mejor método según la aplicación.
  3. Definirás instrucciones y funciones en Python para generar la visualización deseada y recursos para mejorar la presentación de las gráficas.
  4. Interpretarás la información generada por las diversas formas de visualización.
Lo que conocerás
  1. Visualización de datos.
  2. Importancia del uso de gráficas en Ciencia de Datos.
  3. Librería Matplotlib.
  4. Elementos que componen un gráfico.
  5. Gráficas de línea.
  6. Gráficas de dispersión.
  7. Histogramas.
  8. Gráficas de caja.
  9. Mapas de calor.
Habilidades que desarrollarás
  1. Reconocerás la importancia de la correcta visualización de datos.
  2. Integrarás tus conocimientos en Python en conjunto con la librería Matplotlib para generar recursos para la visualización de datos.
  3. Aplicarás diferentes técnicas para la visualización de datos.
Contenido
  1. Introducción a Visualización de Datos.
  2. Tipos de Visualización.

S3 Introducción

INTRODUCCIÓN SEMANA 3

¡Bienvenido a la tercera semana!

Se vive en un mundo en constante crecimiento, donde el intercambio de grandes flujos de datos se ha vuelto muy frecuente entre empresas e incluso entre personas.

En esta semana te presenta diferentes técnicas de visualización de grandes volúmenes de datos. Para facilitar el trabajo se utilizara Python en conjunto con la librería MatplotLib.

El objetivo de la semana es obtener la mayor cantidad de información valiosa de un conjunto de datos, para que los analistas de datos como tú puedan traducir la información en conocimiento para la toma de decisiones.

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 ...