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

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +37 -46
app.py CHANGED
@@ -1,46 +1,37 @@
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(
37
- label="🧾 أدخل 18 قيمة مفصولة بفاصلة أو مسافة",
38
- placeholder="مثال: 1, 30, 12, 1, 0, 1, 2, 1, 0, 1, 1, 1, 1, 0, 0, 1, 2, 2",
39
- lines=2
40
- ),
41
- outputs="text",
42
- title="🔍 نموذج تصنيف المرضى",
43
- description="أدخل القيم الرقمية للـ 18 ميزة بالترتيب كما كانت في التدريب."
44
- )
45
-
46
- iface.launch()
 
1
+ # واجهة Gradio مع شرح للمدخلات
2
+ iface = gr.Interface(
3
+ fn=predict_from_input,
4
+ inputs=gr.Textbox(
5
+ label="🧾 أدخل 18 قيمة مفصولة بفاصلة أو مسافة",
6
+ placeholder="مثال: 1, 30, 12, 1, 0, 1, 2, 1, 0, 1, 1, 1, 1, 0, 0, 1, 2, 2",
7
+ lines=2
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()