DeepWater Predictor is a Deep Learning project designed to predict whether a plant needs watering based on environmental factors. By leveraging a Artificial Neural Network built with TensorFlow and Keras, this project demonstrates how deep learning can be applied to precision agriculture and smart home automation.
This project was developed as part of a Deep Learning One-Shot learning journey. It focuses on the fundamental concepts of neural networks, including layer stacking, activation functions, and gradient descent optimization. The model analyzes environmental variables to make intelligent predictions, helping optimize water usage for plant care.
While this project falls under the umbrella of Machine Learning, it specifically uses Deep Learning techniques:
- Neural Networks: Unlike traditional ML (like Decision Trees or SVMs), this project uses layers of interconnected "neurons".
- Feature Learning: The model learns complex relationships between soil moisture, temperature, and sunlight through hidden layers.
- Frameworks: Utilizes specialized DL libraries like TensorFlow and Keras.
- Sequential Neural Network: Implementation of a multi-layer perceptron for binary classification.
- Normalization Pipeline: Custom feature scaling to ensure stable and faster model convergence.
- Training Variants: Includes implementations for:
- Full-Batch Gradient Descent
- Mini-Batch Gradient Descent
- Stochastic Gradient Descent (SGD)
- Core: Python 3.x
- Deep Learning: TensorFlow, Keras
- Data Science: Pandas, NumPy
- Preprocessing: Scikit-learn
The model is trained on synthetic environmental data:
| Feature | Description |
|---|---|
| Soil Moisture | Normalized level of moisture in the soil |
| Temperature (C) | Ambient temperature in Celsius |
| Sunlight Hours | Daily exposure to sunlight |
| Needs Water | Target label (1: Yes, 0: No) |
The neural network is structured as follows:
- Input Layer: 3 features (Moisture, Temperature, Sunlight).
- Hidden Layer: 8 neurons with
ReLUactivation for non-linear mapping. - Output Layer: 1 neuron with
Sigmoidactivation (mapping output to 0-1 probability).
- Clone the repository:
git clone https://github.com/rohansachinpatil/DeepWater_Predictor.git
- Install dependencies:
pip install tensorflow pandas numpy scikit-learn
- Run the Notebook:
Open
DeepWater_Predictor.ipynbin your preferred environment (Jupyter, VS Code, or Google Colab).
Contributions, issues, and feature requests are welcome! Feel free to fork and submit a PR.
This project is licensed under the MIT License.