Menu
CoddyTech

Diagramas de caja por grupo

Parte de la sección Estadística para ML del Journey de Machine Learning de Coddy. Lección 41 de 64.

Dos grupos difieren: ¿es real o se debe al azar? Este capítulo termina con la imagen que responde a eso:

Un histograma de 1000 diferencias producidas por azar al barajar, agrupadas alrededor de 0, con una línea roja que indica la diferencia real, muy lejos, en el extremo izquierdo

Empieza con una mirada. Un taller de cerámica midió el tiempo de sus dos hornos. Dale a ax.boxplot una lista de grupos y sus nombres:

gas = np.array([6.5, 7, 7.5, 8, 7, 6.5, 8.5, 7.5])
electric = np.array([9, 10.5, 11, 9.5, 12, 10, 10.5, 15])
fig, ax = plt.subplots()
ax.boxplot([gas, electric], tick_labels=["Gas", "Electric"])
ax.set_ylabel("Hours")
plt.show()

Dos diagramas de caja en un mismo eje: Gas bajo, con una mediana de alrededor de 7.25 horas, y Electric más alto, con una mediana de alrededor de 10.5 horas, con un punto atípico en 15. Las cajas no se superponen

Las cajas ni siquiera se superponen: el gas se quema más rápido. Para un modelo, una característica cuyas cajas apenas se superponen ayuda a distinguir los grupos.

challenge icon

Desafío

Intermedio

Un centro de esquí cronometró 36 recorridos en sus tres remontes. lifts.csv tiene lift (Red, Green o Blue) y minutes; el código inicial lo carga y configura el gráfico.

  1. Recorre names y recopila en una lista los minutos de cada remonte.
  2. Dibuja una caja por remonte, con su nombre mediante tick_labels=.
  3. Muestra el gráfico.

No imprime nada; Coddy describe cada caja. Otros dos remontes se ven así:

Un gráfico titulado Lift Times con dos diagramas de caja llamados Orange y Purple: Orange tiene un valor bajo de alrededor de 18 minutos, y Purple es más alto, de alrededor de 27.5 minutos, con un punto atípico en 44

Pruébalo tú mismo

import pandas as pd
import matplotlib.pyplot as plt

lifts = pd.read_csv("lifts.csv")
names = ["Red", "Green", "Blue"]
# No cambies las líneas de abajo
fig, ax = plt.subplots()
ax.set_title("Lift Times")
ax.set_xlabel("Lift")
ax.set_ylabel("Minutes")

# Escribe tu código a continuación
quiz iconPonte a prueba

Esta lección incluye un breve cuestionario. Empieza la lección para responderlo y registrar tu progreso.

Todas las lecciones de Estadística para ML

Practica por tu cuenta: Compilador de Python online