تفاصيل العمل

1. تحميل واستكشاف مجموعة البيانات

يتم تحميل ملف CSV يحتوي على مسارات الصور والعلامات (الحروف) باستخدام pandas.

يتم عرض أول خمس صفوف من البيانات للتحقق من محتويات مجموعة البيانات باستخدام .head().

2. تحميل ومعالجة الصور

يتم تعريف مسار الصور الذي يحتوي على ملفات الصور في مجلد Img.

لكل صف في مجموعة البيانات، يتم تحميل الصورة وتحويلها إلى مصفوفة NumPy بحجم 28x28 بكسل وتحويلها إلى درجات رماديّة.

يتم تطبيع القيم بين 0 و 1 عبر قسمة كل قيمة بكسل على 255.

3. تحويل البيانات إلى مصفوفات

يتم تحويل الصور إلى مصفوفات NumPy وتغيير الشكل لتناسب المدخلات إلى النموذج.

يتم أيضًا ترميز العلامات (الحروف) باستخدام LabelBinarizer لتحويلها إلى تمثيل One-Hot.

4. بناء نموذج الشبكة العصبية التلافيفية (CNN)

يتم بناء نموذج Sequential يحتوي على الطبقات التالية:

Conv2D (طبقة تلافيفية): لاستخراج الخصائص من الصور.

MaxPooling2D: لاستخراج الخصائص المميزة وتقليص الحجم.

Flatten: لتحويل بيانات الصورة إلى شكل متجه يمكن معالجته في الطبقات الكثيفة.

Dense: الطبقات الكثيفة للتعلم من البيانات المستخلصة.

Dropout: للحد من الإفراط في التخصيص (Overfitting).

طبقة Softmax في النهاية لاستخراج التوزيع الاحتمالي لكل فئة (62 فئة).

5. تدريب النموذج

يتم تدريب النموذج باستخدام X_train و y_train مع تحديد عدد العصور (epochs) بـ10، وتقسيم البيانات إلى 80% تدريب و20% تحقق (validation).

يتم استخدام batch_size = 32 لمعالجة البيانات في مجموعات.

6. تقييم النموذج

يتم تقييم النموذج على بيانات الاختبار X_test و y_test.

يتم طباعة دقة الاختبار (test_acc).

7. رسم نتائج التدريب (اختياري)

يتم رسم دقة التدريب والتقييم عبر العصور باستخدام matplotlib لعرض أداء النموذج خلال التدريب.

بطاقة العمل

اسم المستقل
عدد الإعجابات
0
تاريخ الإضافة
تاريخ الإنجاز
المهارات