AL-NAQEEP commited on
Commit
2e35d70
·
verified ·
1 Parent(s): 698444e

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +34 -25
app.py CHANGED
@@ -1,4 +1,36 @@
1
- # واجهة Gradio مع شرح للمدخلات
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
2
  iface = gr.Interface(
3
  fn=predict_from_input,
4
  inputs=gr.Textbox(
@@ -8,30 +40,7 @@ iface = gr.Interface(
8
  ),
9
  outputs="text",
10
  title="🔍 نموذج تصنيف المرضى",
11
- description="""
12
- 💡 أدخل القيم الرقمية المرتبطة بالحالة الصحية للمريض كما يلي:
13
-
14
- 1. الجنس: 0 = أنثى، 1 = ذكر
15
- 2. العمر (بالسنوات)
16
- 3. سنوات التعليم
17
- 4. الرضاعة الطبيعية: 0 = لا، 1 = نعم
18
- 5. عدد الانتكاسات
19
- 6. أعراض أولية متعددة: 0 = لا، 1 = نعم
20
- 7. عدد الأشرطة القابلة للنشاط
21
- 8. LLSSEP: 0 = سليم، 1 = غير طبيعي
22
- 9. ULSSEP: 0 = سليم، 1 = غير طبيعي
23
- 10. VEP: 0 = سليم، 1 = غير طبيعي
24
- 11. BAEP: 0 = سليم، 1 = غير طبيعي
25
- 12. التصوير حول البطينات: 0 = لا، 1 = نعم
26
- 13. التصوير تحت الخيمة: 0 = لا، 1 = نعم
27
- 14. التصوير القشري: 0 = لا، 1 = نعم
28
- 15. التصوير النخاعي: 0 = لا، 1 = نعم
29
- 16. EDSS الابتدائي (مثلاً 1 أو 2 أو 3)
30
- 17. EDSS النهائي (مثلاً 1 أو 2 أو 3)
31
- 18. درجة الإعاقة الأولية (عددية)
32
-
33
- ⚠️ تأكد من إدخال **18 رقمًا** فقط مفصولة بمسافة أو فاصلة.
34
- """
35
  )
36
 
37
  iface.launch()
 
1
+ import gradio as gr
2
+ import joblib
3
+ import numpy as np
4
+
5
+ # تحميل النموذج
6
+ model = joblib.load("my_model.pkl")
7
+
8
+ # عدد الميزات المطلوبة
9
+ NUM_FEATURES = 18
10
+
11
+ # دالة التنبؤ
12
+ def predict_from_input(text_input):
13
+ try:
14
+ # تقسيم المدخلات بفاصلة أو مسافة
15
+ if "," in text_input:
16
+ values = [float(x.strip()) for x in text_input.split(",")]
17
+ else:
18
+ values = [float(x.strip()) for x in text_input.split()]
19
+
20
+ if len(values) != NUM_FEATURES:
21
+ return f"❌ يجب إدخال {NUM_FEATURES} قيمة مفصولة بفاصلة أو مسافة فقط."
22
+
23
+ arr = np.array(values).reshape(1, -1)
24
+ pred = model.predict(arr)[0]
25
+
26
+ if pred == 1:
27
+ return "✅ التنبؤ: المجموعة 1 ( حالة نشطة)"
28
+ else:
29
+ return "✅ التنبؤ: المجموعة 0 ( حالة مستقرة)"
30
+ except Exception as e:
31
+ return f"❌ حدث خطأ أثناء المعالجة: {str(e)}"
32
+
33
+ # واجهة Gradio
34
  iface = gr.Interface(
35
  fn=predict_from_input,
36
  inputs=gr.Textbox(
 
40
  ),
41
  outputs="text",
42
  title="🔍 نموذج تصنيف المرضى",
43
+ description="أدخل القيم الرقمية للـ 18 ميزة بالترتيب كما كانت في التدريب."
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
44
  )
45
 
46
  iface.launch()