Spaces:
Build error
Build error
| import gradio as gr | |
| import pandas as pd | |
| import pickle | |
| # تحميل النموذج | |
| with open("random_forest_pkl.pkl", "rb") as f: | |
| model = pickle.load(f) | |
| # التصنيفات باللغة العربية | |
| categories = ["غير خصبة", "خصبة", "شديدة الخصوبة"] | |
| # دالة التوقع | |
| def predict_fertility(N, P, K, ph, ec, oc, S, zn, fe, cu, Mn, B): | |
| try: | |
| 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 | |
| }]) | |
| prediction = model.predict(input_data)[0] | |
| return categories[prediction] | |
| except Exception as e: | |
| return f"خطأ: {str(e)}" | |
| # واجهة 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=gr.Text(label="درجة الخصوبة") | |
| ) | |
| iface.launch() | |