- Precision agriculture or Smart Farming means that plants (or animals) get precisely the treatment they need, determined with great accuracy thanks to the latest technology.
- In smart framing, it is crucial that the crop recommendations made are correct and precise.
- In this post, we will implement the Streamlit crop prediction app linked to the Kaggle dataset.
- This is an ML-driven app that requires the trained model model.pkl as input.
- The user input parameters are as follows:
- N – Ratio of Nitrogen content in soil
- P – Ratio of Phosphorous content in soil
- K – Ratio of Potassium content in soil
- Temperature – temperature in degree Celsius
- Humidity – relative humidity in %
- ph – ph value of the soil
- Rainfall – rainfall in mm
- The actual Python code (say, cropapps.py) is given by:
import streamlit as st
import pandas as pd
import numpy as np
import os
import pickle
import warnings
st.set_page_config(page_title="Crop Recommender", page_icon="🌿", layout='centered', initial_sidebar_state="collapsed")
def load_model(modelfile):
loaded_model = pickle.load(open(modelfile, 'rb'))
return loaded_model
def main():
# title
html_temp = """
<div>
<h1 style="color:MEDIUMSEAGREEN;text-align:left;"> Crop Recommendation 🌱 </h1>
</div>
"""
st.markdown(html_temp, unsafe_allow_html=True)
col1,col2 = st.columns([2,2])
with col1:
with st.expander(" ℹ️ Information", expanded=True):
st.write("""
Crop recommendation is one of the most important aspects of precision agriculture. Crop recommendations are based on a number of factors. Precision agriculture seeks to define these criteria on a site-by-site basis in order to address crop selection issues. While the "site-specific" methodology has improved performance, there is still a need to monitor the systems' outcomes.Precision agriculture systems aren't all created equal.
However, in agriculture, it is critical that the recommendations made are correct and precise, as errors can result in significant material and capital loss.
""")
'''
## How does it work ❓
Complete all the parameters and the machine learning model will predict the most suitable crops to grow in a particular farm based on various parameters
'''
with col2:
st.subheader(" Find out the most suitable crop to grow in your farm 👨🌾")
N = st.number_input("Nitrogen", 1,10000)
P = st.number_input("Phosporus", 1,10000)
K = st.number_input("Potassium", 1,10000)
temp = st.number_input("Temperature",0.0,100000.0)
humidity = st.number_input("Humidity in %", 0.0,100000.0)
ph = st.number_input("Ph", 0.0,100000.0)
rainfall = st.number_input("Rainfall in mm",0.0,100000.0)
feature_list = [N, P, K, temp, humidity, ph, rainfall]
single_pred = np.array(feature_list).reshape(1,-1)
if st.button('Predict'):
loaded_model = load_model('model.pkl')
prediction = loaded_model.predict(single_pred)
col1.write('''
## Results 🔍
''')
col1.success(f"{prediction.item().title()} are recommended by the AI for your farm.")
#code for html ☘️ 🌾 🌳 👨🌾 🍃
st.warning("Disclaimer: This AI app is for demo purposes only")
hide_menu_style = """
<style>
#MainMenu {visibility: hidden;}
</style>
"""
hide_menu_style = """
<style>
#MainMenu {visibility: hidden;}
</style>
"""
st.markdown(hide_menu_style, unsafe_allow_html=True)
if __name__ == '__main__':
main()
- We can run this program at the command prompt cmd
streamlit run cropapps.py
You can now view your Streamlit app in your browser.
Local URL: http://localhost:8501

Explore More
- Crop-Recommender
- ML/AI GHG Monitoring and Forecast
- Nonprofit
- FarmEasy: Crop Recommendation for Farmers made easy
Your message has been sent
One-Time
Monthly
Yearly
Make a one-time donation
Make a monthly donation
Make a yearly donation
Choose an amount
€5.00
€15.00
€100.00
€5.00
€15.00
€100.00
€5.00
€15.00
€100.00
Or enter a custom amount
€
Your contribution is appreciated.
Your contribution is appreciated.
Your contribution is appreciated.
DonateDonate monthlyDonate yearly
Leave a comment