Mi parte del reto, cambiando las variables y gracias a la lectura de la documentación logré cambiar colores y tipos de gráficas. 😜✨🎪

¿Qué es un diagrama de dispersión y cómo puede ayudarte en el análisis de datos?
Los diagramas de dispersión son herramientas visuales poderosas en la ciencia de datos, permitiéndonos entender mejor los patrones y relaciones dentro de un conjunto de datos. Se utilizan para mostrar la relación entre dos variables, ayudándonos a visualizar cómo se distribuyen los datos en función de sus atributos específicos. Esto es esencial para identificar posibles correlaciones, tendencias o anomalías que podrían no ser evidentes en una simple tabla de datos.
Los diagramas de dispersión se representan mediante puntos que indican las coordenadas de un par de valores en los ejes x e y. En el contexto de datos como el famoso dataset de iris, cada punto podría representar una flor con la longitud de su sépalo y pétalo. Esta visualización rica y detallada permite no solo ver todas las observaciones a la vez, sino también evaluar su distribución y relación.
¿Cómo crear diagramas de dispersión con Seaborn?
Crear diagramas de dispersión con la librería Seaborn en Python es sencillo y eficiente. Esta herramienta ofrece una forma intuitiva de realizar visualizaciones complejas mediante código compacto y fácil de entender.
Para comenzar a trabajar con diagramas de dispersión en Seaborn, utilizamos la función scatterplot(). Aquí un ejemplo básico:
import seaborn as sns import pandas as pd # Cargamos el dataset iris iris = sns.load_dataset("iris") # Creamos un diagrama de dispersión sns.scatterplot(data=iris, x='sepal_length', y='petal_length')
Este ejemplo sencillo muestra cómo definir las variables en los ejes x e y para visualizar los datos de longitud de sépalo y pétalo del dataset de iris.
¿Cómo agregar parámetros categóricos?
Agregar colores distintivos para diferenciar categorías hace que los diagramas de dispersión sean aún más informativos. En Seaborn, esto se logra fácilmente con el parámetro hue. Aquí un ejemplo que diferencia las especies de flores:
sns.scatterplot(data=iris, x='sepal_length', y='petal_length', hue='species')
Esta implementación permite ver rápidamente diferencias significativas entre las especies, destacando cómo ciertos atributos pueden variar entre ellas.
¿Qué es un joint plot y qué beneficios aporta?
Los joint plots ofrecen una ventaja adicional al combinar diagramas de dispersión con histogramas, proporcionando una visión más completa de la distribución de los datos y las relaciones inter-ejes.
En Seaborn, crear un joint plot es igualmente sencillo:
sns.jointplot(data=iris, x='sepal_length', y='petal_length', hue='species')
Este tipo de visualización no solo muestra los puntos de dispersión, sino también las distribuciones marginales de cada variable. Los joint plots son ideales para detectar patrones más sutiles en la distribución de los datos, además de proporcionar una visión general de cuáles parámetros podrían seguir una distribución normal.
¿Cuáles son otros tipos de visualizaciones útiles en Seaborn?
Además de los diagramas de dispersión y joint plots, hay otros tipos de visualizaciones que pueden proporcionar diferentes perspectivas y niveles de detalle. Dos ejemplos son:
Boxplots: Útiles para resumir la distribución de una variable, mostrando la mediana, cuartiles y posibles valores atípicos.
sns.boxplot(data=iris, x='species', y='sepal_length')
Barplots: Permiten visualizar el promedio de una variable categorizada.
sns.barplot(data=iris, x='species', y='petal_length')
¿Cómo seguir explorando y mejorando tus visualizaciones?
La mejor forma de dominar estas técnicas es practicar creando visualizaciones personalizadas con tus conjuntos de datos. Experimenta con diferentes parámetros y estilos para encontrar aquellas representaciones que mejor transmitan la información que deseas mostrar. No olvides referirte a la amplia documentación de Seaborn para descubrir los múltiplos atributos y características que puedes incorporar a tus gráficos.
Inicia tu exploración y desarrolla tus habilidades en visualización de datos. Recuerda que las herramientas son tan poderosas como tú las utilices. La práctica y la curiosidad son claves para convertirte en un analista de datos eficaz.
Los diagramas de dispersión son herramientas visuales poderosas en la ciencia de datos, permitiéndonos entender mejor los patrones y relaciones dentro de un conjunto de datos. Se utilizan para mostrar la relación entre dos variables, ayudándonos a visualizar cómo se distribuyen los datos en función de sus atributos específicos. Esto es esencial para identificar posibles correlaciones, tendencias o anomalías que podrían no ser evidentes en una simple tabla de datos.
Los diagramas de dispersión se representan mediante puntos que indican las coordenadas de un par de valores en los ejes x e y. En el contexto de datos como el famoso dataset de iris, cada punto podría representar una flor con la longitud de su sépalo y pétalo. Esta visualización rica y detallada permite no solo ver todas las observaciones a la vez, sino también evaluar su distribución y relación.
Crear diagramas de dispersión con la librería Seaborn en Python es sencillo y eficiente. Esta herramienta ofrece una forma intuitiva de realizar visualizaciones complejas mediante código compacto y fácil de entender.
Para comenzar a trabajar con diagramas de dispersión en Seaborn, utilizamos la función scatterplot(). Aquí un ejemplo básico:
import seaborn as sns
import pandas as pd
# Cargamos el dataset iris
iris = sns.load_dataset("iris")
# Creamos un diagrama de dispersión
sns.scatterplot(data=iris, x='sepal_length', y='petal_length')
Este ejemplo sencillo muestra cómo definir las variables en los ejes x e y para visualizar los datos de longitud de sépalo y pétalo del dataset de iris.
Agregar colores distintivos para diferenciar categorías hace que los diagramas de dispersión sean aún más informativos. En Seaborn, esto se logra fácilmente con el parámetro hue. Aquí un ejemplo que diferencia las especies de flores:
sns.scatterplot(data=iris, x='sepal_length', y='petal_length', hue='species')
Esta implementación permite ver rápidamente diferencias significativas entre las especies, destacando cómo ciertos atributos pueden variar entre ellas.
Los joint plots ofrecen una ventaja adicional al combinar diagramas de dispersión con histogramas, proporcionando una visión más completa de la distribución de los datos y las relaciones inter-ejes.
En Seaborn, crear un joint plot es igualmente sencillo:
sns.jointplot(data=iris, x='sepal_length', y='petal_length', hue='species')
Este tipo de visualización no solo muestra los puntos de dispersión, sino también las distribuciones marginales de cada variable. Los joint plots son ideales para detectar patrones más sutiles en la distribución de los datos, además de proporcionar una visión general de cuáles parámetros podrían seguir una distribución normal.
Además de los diagramas de dispersión y joint plots, hay otros tipos de visualizaciones que pueden proporcionar diferentes perspectivas y niveles de detalle. Dos ejemplos son:
Boxplots: Útiles para resumir la distribución de una variable, mostrando la mediana, cuartiles y posibles valores atípicos.
sns.boxplot(data=iris, x='species', y='sepal_length')
Barplots: Permiten visualizar el promedio de una variable categorizada.
sns.barplot(data=iris, x='species', y='petal_length')
La mejor forma de dominar estas técnicas es practicar creando visualizaciones personalizadas con tus conjuntos de datos. Experimenta con diferentes parámetros y estilos para encontrar aquellas representaciones que mejor transmitan la información que deseas mostrar. No olvides referirte a la amplia documentación de Seaborn para descubrir los múltiplos atributos y características que puedes incorporar a tus gráficos.
Inicia tu exploración y desarrolla tus habilidades en visualización de datos. Recuerda que las herramientas son tan poderosas como tú las utilices. La práctica y la curiosidad son claves para convertirte en un analista de datos eficaz.
Mi parte del reto, cambiando las variables y gracias a la lectura de la documentación logré cambiar colores y tipos de gráficas. 😜✨🎪

En busca de poder visualizar las relaciones existentes entre los anchos y largos con los sépalos y pétalos, primero me puse a realizar las distintas conbinaciones una por una. Luego, leyendo la documentación de seaborn, encontré pairgridy pairplot y esto fue como recibir el vientito de la rosa de Guadalupe :P

Miren el joint de la base de datos Cars

¡Hola! Comparto mis aportes de la clase. Hay muchos tipos de gráficas que podemos experimentar y con los que podemos jugar, ¡quedé impresionada! Estos son sólo dos de los que me encontré :)


Para el reto intenté hacer un código que permitiera fácilmente cambiar las variables que se estaban analizando y a su vez que me permitiera ver la ecuación de regresión que se estaba dibujando.
Para este análisis tomé los datos de los pétalos. Más abajo les cuento el proceso para hacer la gráfica, lo que me pareció interesante es poder sacar algunas conclusiones preliminares, por ejemplo:
.
.
.
)
.
Ahora sí, cómo fue el proceso de hacer las gráficas:
Lo primero que tuve que averiguar fue cómo dibujar las líneas de regresión diferentes para cada una de las especies. Así fue como llegué a lmplot. Según la documentación de seaborn esta gráfica sirve conviene cuando se desea ver las líneas de regresión de múltiples subconjuntos de datos al mismo tiempo. . Lo siguiente que quise hacer fue mostrar en la gráfica las ecuaciones de regresión. Lastimosamente seaborn no ofrece la funcionalidad built-in por lo que hay que hacer uso de otra librería para hacer estos cálculos. Esto, claramente, puede traer pequeñas discordancias entre la gráfica y la ecuación, pero para usar seaborn (que era la idea del reto) no había de otra. Lo mejor sería ver si alguna otra librería gráfica nos permite obtener este información al tiempo. . Buscando cómo hacer esto llegué a la librería Scipy. Esta tiene un método llamado linregress que nos devuelve la pendiente, el intercepto, y otros valores que se verán más adelante en el curso. Con este método se logra sacar las ecuaciones y con un poco de documentación de seaborn encontré cómo poner una leyenda en la cual se puede mostrar la ecuación de cada línea de regresión. . El código es el siguiente:
from scipy import stats
var_y = 'petal_length'
var_x = 'petal_wiidth'
iris_setosa = iris[iris['species']=='setosa']
iris_versicolor = iris[iris['species']=='versicolor']
iris_virginica = iris[iris['species']=='virginica']
slope_setosa, intercept_setosa, r_value_setosa, p_value_setosa, std_err_setosa = stats.linregress(iris_setosa[var_x], iris_setosa[var_y])
slope_versicolor, intercept_versicolor, r_value_versicolor, p_value_versicolor, std_err_versicolor = stats.linregress(iris_versicolor[var_x], iris_versicolor[var_y])
slope_virginica, intercept_virginica, r_value_virginica, p_value_virginica, std_err_virginica = stats.linregress(iris_virginica[var_x], iris_virginica[var_y])
lm = sns.lmplot(x=var_x, y=var_y, data=iris, hue='species')
ax = lm.axes[0, 0]
ax.legend()
leg = ax.get_legend()
L_labels = leg.get_texts()
label_setosa = f'setosa={slope_setosa:.2f}x+{intercept_setosa:.2f}'
label_versicolor = f'versicolor={slope_versicolor:.2f}x+{intercept_versicolor:.2f}'
label_virginica = f'virginica={slope_virginica:.2f}x+{intercept_virginica:.2f}'
L_labels[0].set_text(label_setosa)
L_labels[1].set_text(label_versicolor)
L_labels[2].set_text(label_virginica)
Hay muchísimos tipos de gráficos a utilizar y algunos creo que solo añaden cosas innecesarias y dan más complejidad visual. Creo que un buen científico de datos debe de saber crear gráficos sencillos pero impactantes y por eso les quiero recomendar el libro Storytelling with data La autora tiene más de 10 años de experiencia usando gráficos y trabajando en negocios, así que podemos decir que es experta en este campo. De hecho ella menciona que es malo en la gran mayoría de los casos usar el tan famoso 'pie chart'. En fin, me parece un excelente libro y por eso se lo quería recomendar :)
para el joinplot use el ancho del pétalo y sépalo, me parece muy completo este tipo de grafica
sns.jointplot(data=iris,x='sepal_width',y='petal_width',hue='species')

. para el grafico de barras use el promedio de la longitud del sépalo, para calcular el promedio u otra de las métricas que hemos visto en clase se tiene que añadir el estimador en la función para hacerlo directamente sino tendríamos que agrupar y calcular el parámetro, yo use numpy para añadir directamente el estimador
from numpy import mean
sns.barplot(data=iris, x='species',y='sepal_length', estimator=mean, order=['virginica', 'versicolor','setosa'])

Seaborn tiene un repositorio online con datasets de ejemplo para practicar. Para ver la lista de estos datasets se puede usar este código.
import seaborn as sns
sns.get_dataset_names()
Yo me puse a jugar con el dataset de pasajeros del Titanic, está bien interesante. No tiene muchas variables numéricas, pero seaborn tiene otro tipo de gráfico que es el countplot, que me sirvió para graficar conteos por variables categóricas, como conteo de superviventes por clase, por género, etc etc.

Reto En la clase usamos el largo y ahora en el reto se usará el ancho
sns.jointplot(data=iris, x = 'sepal_width', y = 'petal_width', hue='species')
Si no se habían dado cuenta en el BARPLOT, cuando determinamos las variables "x" y "y" y una de esas variables es númerica y contiene varios valores, automaticamente barplot saca el promedio para determinar el valor que va a representar y esto lo corrobore haciendo un groupby de las especies y determinando su promedio y comparando el resultado del BARPLOT.
