import gradio as gr import pandas as pd import pickle # تحميل الموديل with open("random_forest_pkl.pkl", "rb") as f: model = pickle.load(f) # التصنيفات labels = ["Less Fertile", "Fertile", "Highly Fertile"] # دالة التوقع def predict_fertility(N, P, K, ph, ec, oc, S, zn, fe, cu, Mn, B): input_data = pd.DataFrame([{ "N": N, "P": P, "K": K, "ph": ph, "ec": ec, "oc": oc, "S": S, "zn": zn, "fe": fe, "cu": cu, "Mn": Mn, "B": B }]) pred = model.predict(input_data)[0] return { "label": labels[pred] } # واجهة Gradio iface = gr.Interface( fn=predict_fertility, inputs=[ gr.Number(label="N"), gr.Number(label="P"), gr.Number(label="K"), gr.Number(label="pH"), gr.Number(label="EC"), gr.Number(label="OC"), gr.Number(label="S"), gr.Number(label="Zn"), gr.Number(label="Fe"), gr.Number(label="Cu"), gr.Number(label="Mn"), gr.Number(label="B"), ], outputs="json" ) iface.launch()