A Flask-based web application for farmers to find out the crops which can grow perfectly on their fields.
Traditional cropping patterns are not effective in today's rapidly changing, unpredicted climate and polluted soils. Likewise, every region is unique in relation to each other and has various properties. Your goal is to design a system to predict the most suitable crop for that region, harvest time, plantation pattern and maintenance of that crop for better yield utilizing information like soil quality, weather, resources and other factors that affect crop production.
Keeping this in mind, I have created a web application which will help farmers to identify the best crop that they can grow in their respective fields, keeping in mind all the properties discussed before.
For this application, I used datasets from Kaggle.
I have used a variety of algorithms for this problem, namely Logistic Regression, Decision Trees, SVM, Random Forest to name a few.
For me, Random Forest has worked wonders, as it gave me 100% accuracy.
If you want an in-depth explaination on random Forest and how do they work, feel free to checkout this article.
- Nitrogen Level: The percentage of nitrogen present in the soil.
- Phosphorus Level: The percentage of phosphorus present in the soil.
- Potasium Level: The percentage of potassium present in the soil.
- Temperature: Temperature of the soil.
- Humidity Level: Percentage of humidity of the soil.
- PH Value: PH value of the soil.
- Rainfall: The amount of rainfall(In mm).
- On putting features like nitrogen %, phosphorus % etc, a farmer could find out which crop will suit his field the best.
- The farmer would also know the type of crop to field(for eg; a Rabi, or a Kharif crop). The application will also provide the suitable sowing and harvesting dates for the crops.
- After finding out the name of the crop, the farmer could also find out the importance of each feature; so as to get more acquainted with how the different features affect the soil.
- Make sure you have Python3, Flask installed.
- In your terminal, cd to the folder you got this project in, and type python run app.py
- And voila!!
You can access the presentation here
- An Crop Disease predictor could be added to this application. It could take input in for of an image, and predict if it is diseased or not.
- A feature in which after a farmer finds out about the most suitable crop, he could directy call any supplier of the said crop.
- This web application is not mobile-first. So if anyone out there could make it mobile-reponsive, that'd be great.
- The designing part of the web application is in a bit of mess😅.
- The UI could be improved.
- The web application is a bit slow during rendering. So anything to help speed up rendering would be great.
This application is hosted on Heroku:
https://cropify-northkeys.herokuapp.com/
P.S: It will take a ittle time to get started, but it's worth the wait!