تصنيف صور الملابس باستخدام تعلم الآلة (Fashion-MNIST)

تفاصيل العمل

في هذا المشروع الشخصي، قمت بتطوير نموذج تعلم آلي كامل لتصنيف صور الملابس من مجموعة بيانات Fashion MNIST، والتي تحتوي على 60,000 صورة تدريب و10,000 صورة اختبار، كل صورة عبارة عن صورة رمادية بحجم 28x28 بكسل تمثل 10 فئات مختلفة مثل القمصان (T-shirt/top)، البناطيل (Trouser)، الفساتين (Dress)، والأحذية (Ankle boot).

الخطوات الرئيسية التي نفذتها:

تحليل البيانات الاستكشافي (EDA): قمت بفحص أبعاد الصور، توزيع الفئات (متوازنة بنسبة متساوية)، وعرض عينات عشوائية من الصور باستخدام Matplotlib لفهم هيكل البيانات.

معالجة البيانات الأولية: استخدمت MinMaxScaler لتطبيع قيم البكسلات (من 0 إلى 255)، وPCA لتقليل الأبعاد من 784 إلى أقل لتحسين الأداء، بالإضافة إلى StandardScaler للمعيارة.

كشف وإزالة الشواذ (Outliers): طبقت Isolation Forest من Scikit-learn لتحديد وإزالة النقاط الشاذة، مما قلل من الضوضاء في البيانات وزاد من استقرار النموذج.

توسيع البيانات (Data Augmentation): استخدمت مكتبة Torchvision لتوليد صور إضافية من خلال تحويلات مثل الدوران (Rotate)، الإزاحة (Shift)، والتكبير، لزيادة حجم البيانات وتجنب الـ Overfitting.

بناء النموذج: اعتمدت على SVM (Support Vector Classifier) من Scikit-learn مع GridSearchCV لتحسين البارامترات الرئيسية مثل النواة (Kernel: linear أو rbf) وقيمة C، مما أدى إلى دقة تصل إلى حوالي 90% على مجموعة الاختبار.

التقييم والتصور: حسبت الدقة (Accuracy Score)، مصفوفة الالتباس (Confusion Matrix)، وتقرير التصنيف (Classification Report). كما عرضت أمثلة على صور الاختبار مع التنبؤات (باللون الأخضر للصحيح والأحمر للخاطئ) لتوضيح أداء النموذج.

الأدوات والمكتبات المستخدمة: Python، Pandas، NumPy، Matplotlib، Scikit-learn (SVM، PCA، GridSearchCV، Isolation Forest)، Torchvision للتوسيع، وJupyter Notebook للتنفيذ.

بطاقة العمل

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