Logo Lanfrica

reregin/water-quality-prediction

Domain:

environment and energy

Record type:

project
Creator:
rer
Host:
A machine learning project to predict water quality parameters across river locations in South Africa, with emphasis on identifying key factors influencing water quality variation. # 🌊 Water Quality Prediction A machine learning project to predict water quality parameters across river locations in South Africa, with emphasis on identifying key factors influencing water quality variation. **Project Objective:** Develop a robust ML model capable of predicting water quality parameters (total alkalinity, electrical conductance, dissolved reactive phosphorus) and identify the key environmental and geographic factors that significantly influence these measurements. --- ## πŸ“‚ Project Structure This project follows a strict separation of concerns. ``` β”œβ”€β”€ data/ β”‚ β”œβ”€β”€ raw/ # Original water quality dataset (2011-2015, ~200 locations) β”‚ β”œβ”€β”€ processed/ # Cleaned & feature-engineered data β”‚ └── external/ # Geographic/environmental reference data β”‚ β”œβ”€β”€ notebooks/ # Experimental Laboratory β”‚ β”œβ”€β”€ 00_data_collection.ipynb # Data loading & exploration β”‚ β”œβ”€β”€ 01_eda_and_discovery.ipynb # Discovery & Analysis (Split-First: Train Only) β”‚ β”œβ”€β”€ 02_preprocessing.ipynb # Feature Engineering & Transformation β”‚ β”œβ”€β”€ 03_model_training.ipynb # Model Training with MLflow Tracking β”‚ └── 04_inference_test.ipynb # Validation & Feature Importance Analysis β”‚ β”œβ”€β”€ src/ # Production Codebase β”‚ β”œβ”€β”€ config.py # Global Control Center (Paths, Params) β”‚ β”œβ”€β”€ data_loader.py # Robust Data Ingestion & Splitting β”‚ β”œβ”€β”€ preprocessing.py # Reusable Cleaning & Feature Engineering Logic β”‚ β”œβ”€β”€ train.py # Model Training Pipeline β”‚ β”œβ”€β”€ inference.py # Prediction Engine β”‚ └── utils.py # Helper Functions β”‚ β”œβ”€β”€ models/ # Serialized Models (.pkl, .pth) β”œβ”€β”€ app/ β”‚ └── main.py # User Interface (Streamlit/FastAPI) β”œβ”€β”€ mlflow.db # MLflow Experiment Tracking Database └── requirements.txt # Dependencies ``` --- …