Spaces:
Sleeping
Sleeping
| import gradio as gr | |
| import numpy as np | |
| import joblib | |
| # ============================== | |
| # LOAD MODELS | |
| # ============================== | |
| scaler = joblib.load("scaler.pkl") | |
| le_label = joblib.load("le_label.pkl") | |
| le_type = joblib.load("le_type.pkl") | |
| rf_label_model = joblib.load("rf_label_model.pkl") | |
| rf_type_model = joblib.load("rf_type_model.pkl") | |
| # ============================== | |
| # PREDICTION FUNCTION | |
| # ============================== | |
| def predict(N, P, K, temperature, humidity, ph): | |
| sample = np.array([[N, P, K, temperature, humidity, ph]]) | |
| sample_scaled = scaler.transform(sample) | |
| pred_label = le_label.inverse_transform( | |
| rf_label_model.predict(sample_scaled) | |
| )[0] | |
| pred_type = le_type.inverse_transform( | |
| rf_type_model.predict(sample_scaled) | |
| )[0] | |
| return f"🌱 Culture: {pred_label}\n🌍 Soil Type: {pred_type}" | |
| # ============================== | |
| # GRADIO INTERFACE | |
| # ============================== | |
| interface = gr.Interface( | |
| fn=predict, | |
| inputs=[ | |
| gr.Number(label="Nitrogen (N)"), | |
| gr.Number(label="Phosphorus (P)"), | |
| gr.Number(label="Potassium (K)"), | |
| gr.Number(label="Temperature (°C)"), | |
| gr.Number(label="Humidity (%)"), | |
| gr.Number(label="pH"), | |
| ], | |
| outputs="text", | |
| title="Crop & Soil Prediction Model", | |
| description="Prediction using Random Forest model trained in Kaggle" | |
| ) | |
| interface.launch() |