# Predictive Mapping of Oil Spill‑Induced Mangrove Degradation in Nigeria
**Remote Sensing + Machine Learning (Python + GEE)**
This repository contains a reproducible workflow for mapping and **predicting oil spill‑induced mangrove degradation**
in the Niger Delta (Rivers State, Nigeria) using **Sentinel‑2 / Landsat 8**, **SRTM**, **NOSDRA oil‑spill records**,
and **Gradient Boosted Decision Trees (XGBoost)** with **SHAP** explainability.
> Paper context and methods adapted from the project draft provided by the authors (uploaded by the user).
## Highlights
- Compute **NDVI / Red‑Edge NDVI (RENDVI)** time series (2020 → 2024)
- Supervised **LULC classification** (Random Forest in **Google Earth Engine**) for 2020 & 2024
- **Oil spill hotspot severity** using Kernel Density Estimation (KDE) + **K‑Means**
- Feature stack: ΔNDVI, ΔRENDVI, spill density, **ESI** rank, elevation class, LULC transition
- Train **XGBoost** classifier; evaluate **Accuracy, Precision, Recall, F1, ROC‑AUC**
- **Explain predictions** with **SHAP**; export risk probability map GeoTIFF + figures
## Repository structure
```
predictive-mangrove-degradation/
├─ README.md
├─ LICENSE
├─ CITATION.cff
├─ pyproject.toml
├─ requirements.txt
├─ Makefile
├─ .gitignore
├─ .github/workflows/ci.yml
├─ configs/
│ └─ rivers_state_example.yaml
├─ data/
│ ├─ raw/ # put input rasters/vectors here
│ ├─ interim/ # intermediate outputs
│ └─ processed/ # final maps & model artifacts
├─ notebooks/
│ ├─ 00_quickstart.ipynb
│ └─ 10_model_diagnostics.ipynb
├─ scripts/
│ ├─ gee_lulc_classifier.js # RF in GEE for 2020/2024
│ └─ prepare_shapefile_grid.py
├─ src/pmd/
│ ├─ __init__.py
│ ├─ cli.py # command line interface
│ ├─ io.py # loading/saving
│ ├─ indices.py # NDVI/RENDVI + delta
│ ├─ geoutils.py # raster/vector helpers
│ ├─ spills.py # KDE + clustering
│ ├─ features.p …