# Inundata: Mapping Floods in South Africa
---
## Objective:
This project focuses on developing machine learning models to detect and map flood-affected areas across South Africa using satellite imagery and geospatial data. The goal is to provide accurate, automated flood extent mapping to support disaster management, risk assessment, and rapid response planning.
## Challenge Overview:
Flooding is one of the most destructive natural disasters affecting communities, agriculture, and infrastructure. Traditional flood mapping methods rely on manual inspection of satellite images, which is time-consuming and prone to errors.
The Inundata Challenge aims to leverage AI, Computer Vision, and Remote Sensing techniques to identify flooded regions from multispectral satellite imagery.
---
## Workflow
Our solution consists of four key stages:
### 1. Exploratory Data Analysis (EDA) & Data Preparation
We perform EDA on composite images to determine the optimal band combination for flood probability prediction. The best-performing band for this task was **Moisture Stress**.
#### Notebook:
- first-stage-static-images-eda-data-preparation.ipynb
---
### 2. Image Classification
Using **Moisture Stress** images, we train an image classifier (**eva02_tiny_patch14_224**) to predict the probability of flooding at each location. This feature significantly improves the overall model performance.
#### Notebook:
- second-stage-image-classifier.ipynb
---
### 3. Modeling
We trained **nine different models** using a combination of flood probability, lagged precipitation values, rolling statistics, exponentially weighted moving averages (EWMA), and event time indicators.
#### Models & Notebooks:
1. **XGBoost** - third_stage_xgb_modelling.ipynb
2. **LightGBM** - third_stage_lgb_modelling.ipynb
3. **FastAI Tabular** - third-stage-fastai-tabular-modelling.ipynb
4. **FastAI GatedConv** - third_stage_fastai_gatedconv_modelling.ipynb
5. **FastAI 1DConv** - third_stage_fastai_1dconv_modell …