تفاصيل العمل

المشكلة:

تقسيم عملاء مركز تجاري لفئات متمايزة بناءً على سلوكهم (العمر، الدخل السنوي، معدل الإنفاق) من غير أي تصنيف مسبق أو labels جاهزة — بمعنى إن الموديل هو اللي المفروض يكتشف المجموعات بنفسه من غير معرفة مسبقة بعدد الفئات أو خصائصها.

الحل:

استخدمت طريقة الـ Elbow Method لتحديد العدد الأمثل للمجموعات، وطبّقت وقارنت خوارزميتين: KMeans (تقسيم لعدد محدد مسبقًا من المجموعات) وDBSCAN (اكتشاف تلقائي للمجموعات بناءً على الكثافة، مع القدرة على تمييز الـ outliers). قيّمت جودة التقسيم باستخدام Silhouette Score لأن مفيش ground truth نقارن بيه.

النتيجة:

KMeans بـ 5 مجموعات حقق Silhouette Score قدره 0.55 — تقسيم واضح ومتماسك. DBSCAN حقق 0.32 بس، مع اكتشافه 35 عميل (من أصل 200) كـ outliers مش تابعين لأي نمط سلوكي واضح — ده بيوضح الفرق العملي بين الطريقتين: KMeans أعطى تقسيم أنضف هنا لأن بيانات العملاء مكنتش فيها كثافة متغيرة بالشكل اللي DBSCAN مصمم أصلًا يتعامل معاه.

بطاقة العمل