GustMdz / Analysis_LigaMX_2016-2020_seasons

MIT License
0 stars 0 forks source link

Comentarios sobre proyecto EDA #2

Open vcuspinera opened 10 months ago

vcuspinera commented 10 months ago

Hola, Gustavo. De forma global veo bien tu proyecto: el repositorio del proyecto tiene la estructura adecuada, realizaste el EDA en Jupyter notebook, compartiste el link del proyecto en el repositorio del curso, agregaste un issue con una propuesta para extender o mejorar el proyecto, divulgaste tu proyecto a través de LinkedIn. Aunque la entrega se realizó un día posterior a la fecha establecida, no habrá penalización dado que esta retardo fue por cuestiones de salud del estudiante. A continuación te comparto mis comentarios para algunas secciones, con mayor detalle.

Estructura del repositorio

La estructura es adecuada y seguiste las recomendaciones del paper Good Enough Practices in Scientific Computing.

En el archivo README.md en la carpeta principal del repositorio se incluyó la descripción general del proyecto, un breve resumen de resultados y la ubicación del EDA en Jupyter notebook.

Por último, encontré algunos errores de ortografía, como la palabra “invlucrados” en vez de “involucrados”, o “titulos” en vez de “títulos”.

Análisis EDA

Revisé el Jupyter notebook para buscar replicar tus resultados y estos son los comentarios que fueron surgiendo al correr el código:

Me gustó mucho que te esforzaras incluyendo una portada al inicio, utilizando lenguaje HTML.

Al llamar la base de datos utilizas una ruta absoluta, pero para que sea más fácil replicar el análisis sería mejor que utilizaras una ruta relativa. Es decir, actualmente usas:

path = r'C:\Users\gmend\Downloads\archive (1)'#<--File's directory

…pero deberías usar:

path = r'../data/' #<--File's directory

Para que funcione la función unique_values() cuando una columna tienen valores nulos, podrías volver un string los valores, es decir:

def unique_values(df, column):
    for i in df[column].unique():
        print("    * "+str(i))

En la sección “3. Información general de la base de datos”, cuando imprimes la información de Estadísticas del local y de Estadísticas del visitante utilizas el formato {n} para imprimir números que en algunos casos muestra números con un decimal en cero, pero recomendaría usar el formato {n:.0f}. Por ejemplo, en el lugar del siguiente código:

print("- Se metieron un total de {0} goles, de los cuales {1} cayeron por la vía penal".format(df_0.home_goals.sum(), df_0.home_goals_penalty.sum()))

…usar el siguiente:

print("- Se metieron un total de {0:.0f} goles, de los cuales {1:.0f} cayeron por la vía penal".format(df_0.home_goals.sum(), df_0.home_goals_penalty.sum()))

Cuando haces análisis de árbitros hay un par de ellos que tienen el mismo nombre con y sin acento: “Ismael Lopez” e “Ismael López”, “Jesus Lopez” y “Jesús López”. Te recomendaría revisar esto.

Por otro lado, a continuación te comparto el código en Altair que replicaría tu gráfica de frecuencia de árbitros, de forma interactiva:

alt.Chart(source).mark_bar().encode(
    alt.X('referee', sort=alt.SortField(field='-Frequency'), title="Nombre del árbitro"),
    alt.Y('Frequency', title="Frecuencia"),
    tooltip=['referee', 'Frequency']
).properties(
    title="Frecuencias de arbitros"
)
image

Dado que tienes información sobre los equipos locales y visitantes, podrías aprovechar esta comparación para hacer distintas gráficas como la siguiente donde se muestra el promedio de goles por partido en función de los equipos que jugaron. Primero comparto el código de Altair y después la gráfica que regresa:

# datos
aux = pd.pivot_table(df, values=['home_goals', 'away_goals'], index=['home_team', 'away_team'], aggfunc="mean").reset_index()
aux['total_goals'] = aux['away_goals'] + aux['home_goals']

# gráfica
alt.Chart(aux).mark_rect().encode(
    alt.X('away_team', title='Visitante'),
    alt.Y('home_team', title='Equipo local'),
    alt.Color('total_goals:Q', title="Goles"),
    tooltip=['home_team', 'away_team', 'total_goals']
).properties(
    title = "Total de goles promedio por partido"
)
image

Comentarios finales

Me pareció interesante el análisis realizado con información de la liga mexicana de futbol soccer, la estructura del repositorio es adecuada, el análisis, visualizaciones y comentarios me parecieron adecuados. La información que estás utilizando podrías aprovecharla haciendo otras gráficas y análisis adicionales comparando equipos locales contra visitantes. ¡Muy buen esfuerzo, muchas felicidades!

Saludos, Víctor Cuspinera

vcuspinera commented 10 months ago

Link proyecto https://github.com/GustMdz/Analysis_LigaMX_2016-2020_seasons

Divulgación por LinkedIn https://www.linkedin.com/feed/update/urn:li:activity:7119855104408649728/