اذهب إلى المحتوى

Recommended Posts

  • 0
نشر

الخطأ الذي يظهر هو ValueError: X has 13 features, but StandardScaler is expecting 15 features as input.

وهو بسبب السطر Xs = scaler.transform(df). وهذا الأمر يعني أن scaler.joblib الذي قمت بتحميله في تطبيق Flask يتوقع 15 ميزة كمدخل لديك بالرغم أن df الذي تنشأه من args يحتوي على 13 ميزة فقط.

وفي الملف notebook.ipynb الذي أرفقته يظهر أنه تم تدريب StandardScaler على 5 ميزات رقمية فقط وهي age و  trestbps و chol و thalch و oldpeak.

فالكود الحالي في api.py يقوم بتمرير جميع ال 13 ميزة إلى scaler.transform.

ولحل المشكلة يجب علينا التأكد من أن df الذي يتم إدخاله إلى scaler.transform يحتوي على 15 ميزة قبل تمريره إلى ال scaler. وهذا يعني أن ال 5 ميزات الرقمية الأصلية age و  trestbps و chol و thalch و oldpeak يجب ألا يتم تمريرها إلى هذا ال scaler.

وإليك الملف api.py بعد تعديله وإصلاح الأخطاء. 

api.py

  • 0
نشر
بتاريخ On 5‏/7‏/2025 at 21:27 قال Youcef Kias:

good, but how to make login and register sent you to prediction site instead of dashboard,, and also make the information go to dbgate

حسب ما فهمت، ما تريده هو إعادة التوجيه بعد تسجيل الدخول أو التسجيل بتغيير الوجهة من لوحة التحكم dashboard إلى صفحة التنبؤ، وحفظ المعلومات في قاعدة البيانات أي نتائج التنبؤ يتم حفظها بشكل صحيح.

أولاً في الملف الذي يحتوي على مسارات تسجيل الدخول والتسجيل، أي الدوال التي فوقها app.route('/login')@ و app.route('/register')@)، عليك تغيير الوسيط داخل دالة url_for() من نقطة نهاية لوحة التحكم إلى نقطة النهاية التي تعرض صفحة الـ HTML لنموذج التنبؤ، وذلك على افتراض أن لديك مسار يعرض صفحة التنبؤ، حيث ستقوم بتغيير أسطر دالة redirect والتي بداخلها url_for

بالنسبة لقاعدة البيانات، فهل  قمت بعمل تحديث في برنامج dbgate لقاعدة البيانات لرؤية الصفوف الجديدة؟ بمعنى عمل refresh، لكن لو حدث أي خطأ قبل تنفيذ db.session.commit()، فلن يتم حفظ البيانات، وستظهر رسالة الخطأ في منفذ الأوامر  الخاص بخادم فلاسك.

عامًة أنت بحاجة إلى دراسة أساسيات Flask:

 

انضم إلى النقاش

يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.

زائر
أجب على هذا السؤال...

×   لقد أضفت محتوى بخط أو تنسيق مختلف.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   جرى استعادة المحتوى السابق..   امسح المحرر

×   You cannot paste images directly. Upload or insert images from URL.

  • إعلانات

  • تابعنا على



×
×
  • أضف...