Contenido del curso
Preparación y Exploración de Datos
Ingeniería de Características
Modelado Predictivo Supervisado
Aprendizaje No Supervisado
Pipeline y Proyecto Final
Introducción al Deep Learning
NLP en nuestro caso de uso
Estadística descriptiva para analizar partidos
Resumen
Antes de entrenar un modelo de machine learning, necesitas entender los datos que tienes en frente. Con estadística descriptiva y visualización en Python podemos leer entre líneas el rendimiento de un equipo, detectar patrones de local y visitante, y descubrir qué variables realmente importan. Si estás aprendiendo análisis de datos deportivos, esta lectura te muestra cómo hacerlo paso a paso usando pandas, matplotlib y seaborn.
¿Cómo se exploran los datos antes de modelar?
La exploración inicial empieza cargando el archivo partido_cebollitas.csv y combinando tres herramientas clave: pandas para manipular datos, matplotlib y seaborn para visualizarlos. Con la función .head() obtenemos un primer vistazo: por defecto muestra cinco registros, pero puedes pasar otro número entre paréntesis para traer más filas.
¿Qué hace la función
.head()en pandas? Devuelve las primeras filas de un dataframe. Por defecto son cinco, pero puedes pedir más escribiendo el número dentro de los paréntesis, por ejemplo.head(10).
Después de revisar las primeras filas, conviene pedir un resumen general. Ahí entra describe(), que en una sola tabla te entrega count, media, desviación estándar, mínimo, máximo y los percentiles principales de cada columna numérica.
¿Qué información entrega describe()?
En nuestro caso devolvió 100 registros, junto con el promedio, la desviación estándar, el valor mínimo, el máximo y varios percentiles. Es la forma más rápida de tener un panorama completo del dataset sin escribir cálculos uno por uno.
¿Jugamos mejor de local o de visitante?
La pregunta del entrenador era directa: ¿dependemos de la afición? Para responderla creamos dos variables a partir de df_matches, una con los goles de Cebollitas como local y otra como visitante, y calculamos el promedio de cada una.
El resultado sorprendió:
- Promedio de goles como local: 2.2.
- Promedio de goles como visitante: 2.6.
- Diferencia favorable a los partidos de visitante.
Ese pequeño print ya nos dice que el equipo rinde bastante bien fuera de casa, algo que la intuición no siempre detecta.
¿Cómo leer histogramas y boxplots de goles?
Los promedios cuentan una parte de la historia, pero la distribución cuenta el resto. Por eso pasamos a los histogramas con sns.histplot, graficando los goles de local y de visitante por separado.
¿Qué muestran los histogramas de goles?
En la distribución de local se repiten partidos con dos, tres y hasta cuatro goles, una señal clara de buen rendimiento en casa. En la distribución de visitante aparecen varios partidos con cero goles, algo lógico por la presión del rival, pero también hay encuentros con tres y hasta cinco goles. La frecuencia con la que se repiten ciertos marcadores es información que un promedio nunca te daría.
¿Para qué sirve un histograma en análisis de datos? Sirve para ver con qué frecuencia se repite cada valor. En vez de un solo número, obtienes la forma completa de la distribución y detectas concentraciones o vacíos.
¿Cómo detectar valores atípicos con un boxplot?
El boxplot o diagrama de caja, también con seaborn, muestra el rango habitual de goles y marca sin piedad los outliers: goleadas y derrotas aplastantes. En los partidos de local, Cebollitas se mueve principalmente entre uno y cuatro goles, con una tendencia fuerte a marcar tres. Aparecen casos de cinco goles como valores extremos y también partidos sin anotaciones.
¿Más posesión significa más goles?
Para responder esto usamos un scatter plot o gráfico de dispersión, con la posesión local en el eje X y los goles de local en el eje Y. La idea es ver si controlar la pelota se traduce en marcador.
La lectura no es tan limpia como uno esperaría. Con 45% de posesión a veces no se anotan goles, y otras veces se anotan dos, tres, cuatro o incluso cinco. La relación existe, pero es ruidosa y difícil de inferir solo con la vista.
¿Qué es un scatter plot? Es un gráfico que ubica cada partido como un punto según dos variables. Sirve para ver si esas variables se mueven juntas o si no tienen relación clara.
¿Qué revela el mapa de calor de correlaciones?
El heatmap de correlación es nuestro GPS: muestra de un vistazo qué variables se mueven juntas. Configuramos una figura de 10 por 6 y graficamos las correlaciones entre goles de local, goles de visitante, posesión y otras métricas.
La correlación más alta detectada fue 0.17 entre goles de local y posesión local. Está lejos de un 0.50 o 0.75, así que la relación es de leve a moderada. Esto te avisa, antes de modelar, que la posesión por sí sola no será un predictor fuerte y que conviene buscar otras variables o combinaciones.
¿Qué aprendimos sobre el equipo con estadística descriptiva?
Todavía no podemos predecir el futuro, pero ya hay señales claras:
- Cebollitas juega distinto de local que de visitante, y el promedio de visitante es mayor.
- Los tiros y la posesión aportan, aunque no explican todo el resultado.
- Hay partidos atípicos que conviene investigar antes de entrenar cualquier modelo.
No puedes entrenar un buen modelo si no entiendes los datos que lo alimentan. ¿Qué correlación crees que va a pesar más cuando entrenemos el modelo? Cuéntamelo en los comentarios.