Artículos de Tecnología > Data Science

Mejora del análisis con Boxplot

danpsiqueira
danpsiqueira

¿Qué es un BoxPlot?

Un BoxPlot (o diagrama de caja, en traducción libre) muestra la distribución cuantitativa de los datos de una manera que facilita la comparación entre las variables, o a través de los niveles categóricos de las variables.

Esta caja ("box") muestra los cuartiles del conjunto de datos mientras que los "whiskers" muestran el resto de la distribución, excepto los puntos que se denominan valores atípicos.

La imagen muestra un diagrama de caja, un cuadro que muestra la división de la concentración de datos en cuartiles, gráficamente.

La línea en el centro de la figura en verde, en nuestro caso, representa la mediana. La línea azul que está en el borde izquierdo de la figura representa el 25 % de mi distribución, y la línea que está en el borde derecho representa el 75 % de la distribución de datos.

En las líneas moradas que están en los extremos de ambos lados, dejan la figura central y muestran una delimitación, tenemos el inicio y el final del área de los cuartiles. Ahora, observe que hay algunos puntos después de este límite en el lado izquierdo. Estos puntos se denominan valores atípicos, es decir, son puntos “aislados” en nuestra distribución.

Para saber hasta dónde llegan los whiskers, que son esos “bigotes de gato” que delimitan los cuartiles y marcan dónde empiezan los outliers, hagamos un cálculo. Una vez que encontramos la mediana, el punto central de la distribución, sabemos que tenemos el 50% de la distribución a la izquierda y el 50% a la derecha. Después de eso, dividamos los lados por la mitad nuevamente, para obtener dos partes de 25% a la derecha y 25% a la izquierda.

Ahora que tenemos los 4 cuartiles, cada uno con un 25%, podemos dibujar la caja, o “box”, y delimitar con el 2° y 3° cuartiles. Entonces, para encontrar la delimitación de los wiskers, multipliquemos la distancia desde el segundo cuartil hasta la mediana por 1,5. Hacemos el mismo procedimiento con la distancia del 3er cuartil a la mediana: multipliquemos por 1,5.

La imagen muestra un diagrama de caja, un cuadro que muestra la división de la concentración de datos en cuartiles, de forma gráfica, destacando los porcentajes de los cuartiles, los "outliers" y cómo calcular los "whiskers".

En resumen, el diagrama de caja nos ayuda a visualizar la distribución de los datos divididos en cuartiles. Además, muestra dónde están más concentrados los datos y si hay valores atípicos fuera de nuestros cuartiles.

¿Cómo generar un BoxPlot usando Python?

Para generar el Boxplot en Python usaremos la librería Seaborn. También podríamos generar el Boxplot a través de otros métodos, pero una de las ventajas de usar Seaborn es que será más bonito, claro y presentable.

La imagen muestra un diagrama de caja generado en Python con la ayuda de la biblioteca Seaborn. El diagrama de caja muestra los salarios de los empleados en nuestra base de datos.

Para cambiar los ejes x e y de nuestro diagrama podemos usar la librería matplotlib, a través del código: import matplotlib.pyplot as plt sns.boxplot(x = data['Salary']) plt.ylabel('Number of employee') plt.show()

Imagen recortada de google colab que ilustra el diagrama de caja generado a través del código sns.boxplot(x=data['Salary'], ahora con el título "Distribución del salario", y con el eje x como "Salario" y el eje y como "Número de empleados".

Realización de análisis e hipótesis con BoxPlot

Analizando este boxplot, notamos que la mayoría de los datos están un poco por encima de 50000 y antes de 100000. Si analizamos el histograma generado con estos mismos datos, nos damos cuenta de que la información complementa el uno al otro. Tenemos pocos datos (outliers) que estén por encima de 100000 por año.

Podemos ir más allá en el uso de diagramas de caja. Podemos usar más de un diagrama de caja con diferentes categorías (columnas) para hacer análisis de comparación entre ellos.

Hagamos un experimento: analicemos a qué tipo de conclusiones podemos llegar comparando el salario anual con el género del empleado. Para hacer esto, generemos el boxplot con el siguiente código:

Imagen recortada de google colab que ilustra el diagrama de caja generado a través del código sns.boxplot(data=data, x='Gender', y='Salary', ahora comparando dos diagramas de caja de estas dos categorías: salario del empleado y género

Como en la categoría de género femenino tenemos más valores atípicos, el gráfico se aplanó un poco. Usemos matplotlib para mejorar un poco la visualización:

Imagen recortada de google colab que ilustra el código utilizado: plt.figure(figsize=(8,12))sns.boxplot(data=data, x='Gender', y='Salary'). ilustra los diagramas de caja generados anteriormente, pero con el ajuste para una mejor visualización

Analicemos un poco estos diagramas de caja (boxplots). No pudimos responder directamente si los hombres ganan más que las mujeres, al menos solo con este paso, ya que notamos que la mediana de las dos gráficas de caja está muy cerca una de la otra. Pero pudimos analizar que el 3er cuartil del género femenino termina mucho antes que el género masculino, lo que nos puede decir que a medida que aumenta el salario anual, tenemos una mayor concentración de personas del género masculino. También notamos que hay muchos más valores atípicos, datos atípicos en la distribución, de mujeres que tienen salarios altos.

¡Ahora es tu turno! Siguiendo estos mismos pasos, analice un conjunto de datos. Puede analizar, por ejemplo, los salarios de alguna empresa. Usa el diagrama de caja y cuéntanos en los comentarios qué conclusiones pudiste sacar.

Daniel Siqueira

Daniel es instructor en Data School y enseña Matemáticas, Física, Química e Inglés. Tiene una verdadera pasión por aprender cosas y temas nuevos, y transmitir sus conocimientos.

Artículos de Tecnología > Data Science

En Alura encontrarás variados cursos sobre Data Science. ¡Comienza ahora!

Precios en:
USD
  • USD
  • BOB
  • CLP
  • COP
  • USD
  • PEN
  • MXN
  • UYU

Semestral

  • 273 cursos

    Cursos de Programación, Front End, Data Science, Innovación y Gestión.

  • Videos y actividades 100% en Español
  • Certificado de participación
  • Estudia las 24 horas, los 7 días de la semana
  • Foro y comunidad exclusiva para resolver tus dudas
  • Luri, la inteligencia artificial de Alura

    Luri es nuestra inteligencia artificial que resuelve dudas, da ejemplos prácticos y ayuda a profundizar aún más durante las clases. Puedes conversar con Luri hasta 100 mensajes por semana

  • Acceso a todo el contenido de la plataforma por 6 meses
US$ 65.90
un solo pago de US$ 65.90
¡QUIERO EMPEZAR A ESTUDIAR!

Paga en moneda local en los siguientes países

Anual

  • 273 cursos

    Cursos de Programación, Front End, Data Science, Innovación y Gestión.

  • Videos y actividades 100% en Español
  • Certificado de participación
  • Estudia las 24 horas, los 7 días de la semana
  • Foro y comunidad exclusiva para resolver tus dudas
  • Luri, la inteligencia artificial de Alura

    Luri es nuestra inteligencia artificial que resuelve dudas, da ejemplos prácticos y ayuda a profundizar aún más durante las clases. Puedes conversar con Luri hasta 100 mensajes por semana

  • Acceso a todo el contenido de la plataforma por 12 meses
US$ 99.90
un solo pago de US$ 99.90
¡QUIERO EMPEZAR A ESTUDIAR!

Paga en moneda local en los siguientes países

Acceso a todos
los cursos

Estudia las 24 horas,
dónde y cuándo quieras

Nuevos cursos
cada semana