Spaces:
Sleeping
Sleeping
File size: 3,529 Bytes
2e35d70 ec8ba84 698444e ec8ba84 fdbc445 ec8ba84 fdbc445 1960ef7 fdbc445 1960ef7 f03a497 1960ef7 698444e 1960ef7 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 |
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() |