Prototype ML - Crop recommendation system for Togolese smallholder farmers
# Crop Recommendation System for Togolese Smallholder Farmers (Methodological Prototype)
Machine learning prototype developed in preparation for the Master's research project
**"Intelligent Decision Support for Togolese Smallholder Farmers: A Machine Learning
Approach to Agricultural Decision Support in Low-Resource Contexts"**
**Author:** Komi Isaac Junior Hounbo
## Objective
Build a complete machine learning pipeline to recommend the most suitable crop
(**Maize, Cassava, or Soybean**) for a given plot, based on agronomic variables: soil
properties (pH, nitrogen, phosphorus, clay content), climate variables (cumulative
rainfall, average temperature), and water stress index.
This use case corresponds to **Use Case 1** (Phase 2 - Modeling) of the research
project: crop variety recommendation via Random Forest / XGBoost on tabular data
combining soil profiles, rainfall forecasts, and historical yield data.
## Data
The dataset used (`dataset_recommandation_culture.csv`) is **synthetic**, generated to
reproduce the realistic statistical structure of agronomic variables typical of the
Maritime and Plateaux regions of Togo. It serves to **validate the methodological
pipeline** before applying it to the real data to be collected in Phase 1 of the
Master's project:
- Surveys of 150–200 farmers (in collaboration with ITRA)
- Soil profile data (ITRA agronomic database)
- Satellite imagery from Sentinel-2 / MODIS (Google Earth Engine) — NDVI indices
- Ten-year climate time series (Togo's National Meteorological Directorate)
## Methodology
1. Exploratory data analysis (variable distributions per crop, correlation matrix)
2. Feature engineering: composite soil fertility index (nitrogen, phosphorus, pH)
3. Target encoding and stratified train/test split (80/20)
4. Modeling: Random Forest with hyperparameter tuning (GridSearchCV, 5-fold
cross-validation)
5. Evaluation: accuracy, weighted F1-score, confusion matrix
6. Interpretation: feature importance analysis
## Results …