This project focuses on building a machine learning system to predict crop irrigation requirements based on environmental and soil conditions. The model classifies irrigation needs into three categories: Low, Medium, and High, helping optimize water usage and support efficient agricultural decision-making.
A complete data preprocessing pipeline was applied, including handling categorical features using Ordinal Encoding, feature scaling with StandardScaler, and addressing class imbalance using SMOTE to improve model fairness and performance.
Extensive feature engineering was performed to enhance predictive power by capturing meaningful relationships in the data, such as:
Temperature–Humidity interaction
Rainfall-to-Soil Moisture ratio
Evaporation Index based on temperature, wind speed, and sunlight
Soil Thirst indicator combining temperature and irrigation history
The model was implemented using a neural network built with TensorFlow and Keras, optimized with techniques like:
Batch Normalization
Dropout for regularization
Adaptive learning rate scheduling
Early stopping for better generalization
The system achieved strong performance with approximately 97.5% validation accuracy, indicating its effectiveness in predicting irrigation needs from structured data.
Key Features:
Strong feature engineering for improved predictions
Handling imbalanced datasets using SMOTE
Efficient neural network model for classification
High accuracy with reliable generalization
Technologies Used:
Python
TensorFlow / Keras
Scikit-learn
Imbalanced-learn (SMOTE)
Pandas & NumPy