Spaces:
Sleeping
Sleeping
| import gradio as gr | |
| import joblib | |
| import numpy as np | |
| # تحميل النموذج | |
| model = joblib.load("my_model.pkl") | |
| # عدد الميزات المطلوبة | |
| NUM_FEATURES = 18 | |
| # دالة التنبؤ | |
| def predict_from_input(text_input): | |
| try: | |
| # تقسيم المدخلات بفاصلة أو مسافة | |
| if "," in text_input: | |
| values = [float(x.strip()) for x in text_input.split(",")] | |
| else: | |
| values = [float(x.strip()) for x in text_input.split()] | |
| if len(values) != NUM_FEATURES: | |
| return f"❌ يجب إدخال {NUM_FEATURES} قيمة مفصولة بفاصلة أو مسافة فقط." | |
| arr = np.array(values).reshape(1, -1) | |
| pred = model.predict(arr)[0] | |
| if pred == 1: | |
| return "✅ التنبؤ: المجموعة 1 ( حالة نشطة)" | |
| else: | |
| return "✅ التنبؤ: المجموعة 0 ( حالة مستقرة)" | |
| except Exception as e: | |
| return f"❌ حدث خطأ أثناء المعالجة: {str(e)}" | |
| # واجهة Gradio مع شرح للمدخلات | |
| iface = gr.Interface( | |
| fn=predict_from_input, | |
| inputs=gr.Textbox( | |
| label="🧾 أدخل 18 قيمة مفصولة بفاصلة أو مسافة", | |
| placeholder="مثال: 1, 30, 12, 1, 0, 1, 2, 1, 0, 1, 1, 1, 1, 0, 0, 1, 2, 2", | |
| lines=2 | |
| ), | |
| outputs="text", | |
| title="🔍 نموذج تصنيف المرضى", | |
| description=""" | |
| 💡 أدخل القيم الرقمية المرتبطة بالحالة الصحية للمريض بالترتيب التالي: | |
| 1. **الجنس**: 0 = أنثى، 1 = ذكر | |
| 2. **العمر** (بالسنوات) | |
| 3. **سنوات التعليم** | |
| 4. **الرضاعة الطبيعية**: 0 = لا، 1 = نعم | |
| 5. **Varicella (الحماق / جدري الماء)**: 1,2,3 | |
| 6. **Initial_Symptom (الاعراض الاولية)** من 1 الى 15 | |
| 7. **Mono_or_Polysymptomatic (أحادي الأعراض أو متعدد الأعراض)**: 0 = أحادي، 1 = متعدد | |
| 8. **Oligoclonal_Bands (الشرائط قليلة النسيلة)**: قد تكون قيمًا عددية 0 أو 1 .* | |
| 9. **LLSSEP (اختبار جهد الإمكانات الحسية الجسدية للأطراف السفلية)**: 0 = سليم، 1 = غير طبيعي | |
| 10. **ULSSEP (اختبار جهد الإمكانات الحسية الجسدية للأطراف العلوية)**: 0 = سليم، 1 = غير طبيعي | |
| 11. **VEP ( فحص الرؤية البصرية )**: 0 = سليم، 1 = غير طبيعي | |
| 12. **BAEP (فحص السمع)**: 0 = سليم، 1 = غير طبيعي | |
| 13. **Periventricular_MRI (التصوير بالرنين المغناطيسي حول البطينات)**: 0 = لا، 1 = نعم (لوجود آفات) | |
| 14. **Infratentorial_MRI (التصوير بالرنين المغناطيسي تحت الخيمة)**: 0 = لا، 1 = نعم (لوجود آفات) | |
| 15. **Cortical_MRI (التصوير بالرنين المغناطيسي القشري)**: 0 = لا، 1 = نعم (لوجود آفات) | |
| 16. **Spinal_Cord_MRI (التصوير بالرنين المغناطيسي للحبل الشوكي)**: 0 = لا، 1 = نعم (لوجود آفات) | |
| 17. **Initial_EDSS (مقياس الإعاقة الممتدة الأولي)**: (درجة عددية، مثل 1 أو 2 أو 3 أو أكثر) | |
| 18. **Final_EDSS (مقياس الإعاقة الممتدة النهائي)**: (درجة عددية، مثل 1 أو 2 أو 3 أو أكثر) | |
| """ | |
| ) | |
| iface.launch() |