disita / EDA-Class-Proyect

El proyecto de análisis EDA es un hito de la materia de **Desarrollo de Proyectos I**, el cual se desarrollará de forma individual y tendrá un valor del 20% sobre la calificación final.
MIT License
0 stars 0 forks source link

Comentarios sobre proyecto EDA #3

Open vcuspinera opened 1 year ago

vcuspinera commented 1 year ago

Hola, Daniel. 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 par de issues con comentarios, divulgaste tu proyecto a través de LinkedIn y ‘X’ y cumpliste con la fecha de entrega. 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 la estructura de tu proyecto me gustó que, aunque no incluyes todas las bases de datos que se requieren para hacer el análisis por cuestión del tamaño de los archivos, sí comentaste esta situación y compartiste la liga para que cualquier persona pueda bajar estas bases de datos y replicar tu análisis.

En la carpeta de data sólo quiero hacer la aclaración que sí incluiste el archivo GlobalLandTemperaturesByMajorCity.csv y el que hay que bajar desde Kaggle es la base de datos GlobalLandTemperaturesByCity.csv.

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 el link al EDA en Jupyter notebook.

Finalmente, en este mismo README, es decir, el del directorio raíz del repositorio, recomendaría cambiar el título de “EDA-Class-Proyect” a otro más descriptivo sobre el proyecto como el que utilizaste en el enlace “Temperaturas del mundo”.

Análisis EDA

Me gustó mucho que incluyeras una descripción de datos tan detallada, la cual de da a entender mejor el contexto y la relevancia.

En la limpieza de datos para el análisis por país, vi que cambiaste el nombre de algunos países para unificar la información. Esta base también incluye la información a nivel de continentes, la cual podrías haberla separado en otra base o tal vez incluido una bandera para poder identificar esta información.

En la visualización de datos, especialmente para las gráficas donde no se alcanza a leer el nombre del país, podría ser útil usar gráficas interactivas. Me parece que sabes utilizar librerías para gráficas interactiva como plotly, pero igual te recomiendo que le eche un ojo a Altair. A continuación te comparto el código que replicaría tu gráfica de dispersión de temperaturas promedio por país, pero la hace interactiva utilizando Altair:

# importar libría de Altair
import altair as alt

# Añador columna para diferencia a méxico
avg_temp["MX"]=[1 if c == "Mexico" else 0 for c in avg_temp.Country]

# Variables para idnetificar a méxico por color y tamaño 
domain = ["0", "1"]
range_1 = ['red', 'blue']
range_2 = [50, 200]

# Gráfica interactiva
alt.Chart(avg_temp).mark_circle(size=70).encode(
    alt.X("Country", axis=alt.Axis(labelAngle=-45, labelFontSize=6, labelSeparation=100)),
    alt.Y("AverageTemperature"),
    alt.Color("MX", scale=alt.Scale(domain=domain, range=range_1), legend=None),
    alt.Size("MX", scale=alt.Scale(domain=domain, range=range_2), legend=None),
    tooltip=["Country", "AverageTemperature"]
).properties(
    title = 'Gráfico de dispersión de temperaturas promedio por país',
    width = 1000
)

Así se ve la gráfica con el código anterior:

image

Cuando haces el análisis del archivo “GlobalTemperatures.csv” vi que hiciste una función para extraer el año, lo cual me parece bien. Una alternativa es utilizar la librería datetime. Ejemplo para convertir un string en objeto tipo fecha, y jalar el año.

# llamar la librería
from datetime import datetime

# transformar una cadena de año, mes y día con formato '%Y-%m-%d'a un objeto tipo fecha (datetime)
x = datetime.strptime(global_temp["dt"][0], '%Y-%m-%d')

# obtener el año
x.year

De hecho, cuando haces el análisis por estaciones del año veo que ya utilizas datetime, entonces tal vez podrías haberlo usado desde antes para sacar lo del año y el mes.

El análisis por estación me gustó bastante, se me hizo bueno crear una variable con las estaciones, sacar promedios, analizarlas y compararlas. Como comentario al margen, y sólo para tenerlo presente, al hacer ingeniaría de variables hay que tener cuidado con la información que tenemos; por ejemplo, si tuviéramos los datos de temperatura no de forma global sino a nivel de país, si quisiéramos hacer el análisis usando estaciones del año tendríamos que considerar que las estaciones del año son en meses distintos para los países al sur del Ecuador.

No pude ver el análisis con del mapa de USA con porque no tenía la clave de OpenCageGeocode, pero si pude ver todo lo demás, sin problemas. No quise pedir tu clave ya que ésta es personal.

Por último, encontré algunos errores de ortografía, como la palabra “utilizaros” en vez de “utilizamos”.

Comentarios finales

Me pareció muy completo e interesante el análisis que realizaste sobre las temperaturas globales, internacionales y regionales, para las cuales utilizaste hasta ingeniería de variables, así como análisis geoespacial con mapas. ¡Muy buen esfuerzo, muchas felicidades!

Saludos, Víctor Cuspinera

vcuspinera commented 1 year ago

Link proyecto

https://github.com/disita/EDA-Class-Proyect

Divulgación del proyecto