# Crop Yield Estimation System for Kenya
Overview
This project develops a machine learning system for estimating crop yield at county level for eight food crops in Kenya using historical agricultural production data and environmental variables derived from geospatial and satellite data.
The project combines agricultural production records with environmental indicators such as rainfall, vegetation and other remotely sensed variables to estimate crop yield in tonnes per hectare. Four regression models — Linear Regression, Random Forest, Gradient Boosting and XGBoost — were trained and evaluated against a mean-yield baseline. Random Forest achieved the strongest overall performance, with an R² of 0.863, MAE of 0.859 t/ha, and RMSE of 1.623 t/ha.
Importantly, model performance varied substantially across the eight crops, demonstrating that the overall model score should not be interpreted as equal reliability for every crop.
# Problem Statement
Agricultural planning in Kenya requires reliable information about crop productivity. However, crop yields vary across locations and seasons due to differences in environmental and agricultural conditions.
This project investigates whether historical agricultural production data combined with environmental variables derived from geospatial and satellite data can be used to estimate crop yield at county level for selected food crops.
The system focuses on:
Beans
Cowpeas
Irish Potatoes
Maize
Pigeon Peas
Sorghum
Sweet Potatoes
Wheat
The intended users include agricultural planners, county agricultural officers, researchers and other stakeholders who require data-driven estimates of crop productivity.
# Dataset
Agricultural Production Data
The primary agricultural dataset used in this project is the National Agricultural Production Data 2024, containing county-level agricultural production information for 2019–2023.
| Property | Details |
| ---------------- | -------------------- …