Logo Lanfrica
  • Home
  • Atlas
  • Insights
  • Docs
  • Sign in

© 2026 Lanfrica. All rights reserved. All copyrights of the resources shown on the Lanfrica website belong to the original copyright holders, unless explicitly stated otherwise.

yash-lomate/Predicting-soil-health-from-infrared-spectroscopy-for-African-agriculture

Domain:

agriculture

Record type:

project
Creator:
yas
Host:
# Predicting Soil Health from Infrared Spectroscopy for African Agriculture ## Overview This project implements multi-target regression models to predict soil properties from mid-infrared (MIR) spectral measurements. The solution addresses the Africa Soil Property Prediction Challenge, predicting five continuous soil properties simultaneously: - **Ca** (Calcium) - **P** (Phosphorus) - **pH** (Soil acidity/alkalinity) - **SOC** (Soil Organic Carbon) - **Sand** (Sand content) ## Problem Definition Given 3,578 mid-infrared spectral absorption measurements per soil sample plus spatial coordinates (latitude, longitude) and depth, the goal is to predict five continuous soil properties simultaneously. This is a classic multi-target regression problem on high-dimensional spectral data—a "wide" dataset with far more features than samples. ## Dataset The data comes from the Africa Soil Property Prediction Challenge on Kaggle: - **URL**: kaggle.com - **Features**: 3,578 mid-infrared spectral measurements (m0, m1, ..., m3577) per sample - **Additional features**: Spatial coordinates (Latitude, Longitude) and Depth - **Targets**: 5 continuous soil properties (Ca, P, pH, SOC, Sand) ## Project Structure ``` . ├── README.md # This file ├── requirements.txt # Python dependencies ├── train.py # Main training script ├── predict.py # Prediction script ├── src/ # Source code │ ├── __init__.py # Package initialization │ ├── data_preprocessing.py # Data loading and preprocessing │ ├── models.py # Multi-target regression models │ └── feature_engineering.py # Feature engineering utilities ├── data/ # Data directory (not included in repo) │ ├── train.csv # Training data │ └── test.csv # Test data ├── models/ # Saved models directory └── notebooks/ # Jup …

Visit

github.com