dilpreet77's picture
Update app.py
0545814 verified
Raw
History Blame
926 Bytes
from flask import Flask, render_template, request
import pickle
import numpy as np
app = Flask(__name__)
# Load the trained model
model = pickle.load(open("crop.pkl", "rb"))
# Load the SAME LabelEncoder used during training
le = pickle.load(open("label_encoder.pkl", "rb"))
@app.route("/")
def home():
return render_template("index.html")
@app.route("/predict", methods=["POST"])
def predict():
N = float(request.form['N'])
P = float(request.form['P'])
K = float(request.form['K'])
temperature = float(request.form['temperature'])
humidity = float(request.form['humidity'])
ph = float(request.form['ph'])
rainfall = float(request.form['rainfall'])
features = np.array([[N, P, K, temperature, humidity, ph, rainfall]])
pred = model.predict(features)
crop = le.inverse_transform(pred)[0]
return render_template('result.html', prediction_text=f"Recommended Crop: {crop}")