Intelligent water pump status prediction in Tanzania using machine learning.
# π§ Pump Guardian: Waterpoint Status Predictor
**I built a machine learning model to predict the operational status of water pumps in rural Tanzania, using real-world data and Google Colaboratory.**
## π§ Project Overview
This project was developed as part of the **"Pump it Up: Data Mining the Water Table"** competition on DrivenData. The goal was to classify each water pump into one of three categories:
- **Functional**
- **Non-functional**
- **Functional needs repair**
The dataset includes over 50 variables β such as geographic location, water quality, extraction type, and installer details β and comes with real-world challenges like:
- Missing values
- High-cardinality categorical features
- Imbalanced class distribution
## π My Goals
- Build and fine-tune a robust multi-class classification model
- Handle missing data and complex categorical variables
- Perform data cleaning, preprocessing, and feature engineering
- Deliver explainable, reliable predictions
## π§° Tools & Technologies
I worked entirely in **Google Colaboratory**, using the following tools and libraries:
- `pandas`, `numpy`, `matplotlib`, `seaborn`
- `scikit-learn`, `XGBoost`, `LightGBM`
- `category_encoders`, `imbalanced-learn`
- Grid search, cross-validation, and evaluation metrics
## π Dataset
All data was provided by the competition organizers and is available here:
- π Competition overview
- π Download the dataset
- π Variable descriptions
Files used:
- `train.csv` β Features for training
- `train_labels.csv` β Target variable
- `test.csv` β Data for prediction
- `SubmissionFormat.csv` β Required submission format
> β οΈ I followed the competition rules strictly and did **not** use any external data sources.
## π Submission Details
Submissions must include:
- `id` (pump ID)
- `status_group` (predicted class)
Evaluated using the **macro F1-score**.
- π Submit predictions
## π Highlights
- Hands-on application of machine learning to a real-world classification problem
- Clear do β¦