Predicción Lluvia en Australia
Objetivo
La tarea es desarrollar un modelo de aprendizaje que prediga de manera binaria (sí/no) si el día de mañana lloverá (columna RainTomorrow) en una o varias de las ciudades australianas que existen en los datos (columna Location).
Carga librerías
En primer lugar es necesario realizar la instalación y carga de las librerias requeridas para el proyecto.
Análisis Exploratorio de Datos
A continuación, se cargará la base de datos y empieza la exploración de los datos.
Exploración de los datos
El dataset tiene 145460 registros y 23 variables.
Información importante con respecto al dataset: - Hay valores que faltan en el conjunto de datos - El conjunto de datos incluye valores numéricos y categóricos (float64 y object)
- Existen 16 variables numericas, 7 categoricas y 1 correspondiente a la fecha. - El conjunto de datos incluye valores numéricos y categóricos (float64 y object) - La variable objetivo es RainTomorrow
Se procede a depurar el dataset eliminando los registros con valores faltantes
Variable Objetivo
Ahora se observa la variable objetivo
Los registros se encuentras distribuidos de la siguiente forma: No=110316(77.5819%) y Yes=31877(22.4181%)
Variables Numericas
Variables Categoricas
Se presentan valores faltantes, por lo tanto es necesario tratarlos.
La variable Date tiene gran cantidad de registros unicos, por lo que es necesario realizar un preprocesamiento.
Es necesario convertir variables categoricas en numericas, esto se realiza con el método One Hot Encoding.
Se observa una cantidad de registros uniforme con respecto a las diferentes variables visualizadas.
Visualización efectiva de Datos
¿Donde están ubicadas los registros en Australia?
Mapa de Calor Correlacion Dataset Lluvia en Australia
Las variables que mayor correlación presentan son: [MinTemp, MaxTemp, Temp9am, Temp3pm, WindGustSpeed, WindSpeed3pm, Pressure9am, Pressure3pm. Por serán graficadas para observar su comportamiento.
Ingeniería de características
En esta etapa se procede a adecuar los datos para ser utilizados adecuadamente en la generación de diferentes modelos.
Variables Numericas
Se presentan valores faltantes, por lo tanto es necesario tratarlos.
Ahora se buscan los posibles Outliers presentes en las variables numericas
Variables Categoricas
Modelado
Se definen las variables de entrada y salida a utilizar con los algoritmos
Se utilizarán diferentes técnicas de aprendizaje automático supervisado con el mismo conjunto de entrenamiento y prueba, esto con el fin de contrastar cual técnica tuvo mejor desempeño realizando la predicción binaria.
Regresión Logistica
Árboles de Decisión
Bosques Aleatorios
Redes Neuronales
Métricas de Desempeño
Con los resultados obtenidos al predecir la variable objetivo en los datos de prueba se calcula qué tan bien o mal hizo la predección el modelo. La medición de errores y aciertos es usado para obtener varias métricas.
En este caso se toma como métrica principal el Accuracy, obteniendo los siguientes resultados: - Regresión Logística: 0.8586 - Árboles de Decisión: 0.8438 - Árboles de Decisión Optimizado: 0.8276 - Bosques Aleatorios: 0.8518 - Bosques Aleatorios Optimizado: 0.8534 - Redes Neuronales: 0.8537
Conclusiones
- Las 4 técnicas utilizadas predijeron con buen desempeño si en una o varias de las ciudades australianas que existen en los datos lloverá. - Al sur oriente del país es donde se encuentra la mayor cantidad de locaciones donde fueron tomados los registros del dataset. - La optimización de parámetros no siempre mejora los desempeños, es necesario realizar una búsqueda con mayor alcance.
Observaciones
- La optimización de parámetros no fue más exhaustiva por falta de poder de cómputo. - En trabajos futuros podrían utilizarse diferentes conjuntos de características para el modelado. - Aplicar técnicas diferentes a las utilizadas en este trabajo. Estas observaciones abren la posibilidad a encontrar mejores desempeños, por lo tanto, cumplir con el objetivo deseado.