DBSCAN, point by point


Dataset
Radius (ε) 30 px
minPts counting the point itself
Run

سؤال واحد فقط.
لا يحسب DBSCAN مركزًا أبدًا. كلّ ما يفعله أنّه يسأل، عن نقطة واحدة في كلّ مرّة: هل يوجد على الأقلّ minPts من النقاط ضمن مسافة ε منّي؟ فإن كان الجواب نعم، فتلك النقطة core وينمو الـ cluster من خلالها — تُبتلَع كلّ نقطة داخل دائرتها، ويُطرح السؤال نفسه على كلّ واحدة منها. وإن كان الجواب لا، تُترك النقطة جانبًا بوصفها noise، وإن كان لا يزال ممكنًا أن يصل إليها cluster لاحقًا فيضمّها بوصفها نقطة border. كلّ نقطة تنتهي إلى واحدة من ثلاث حالات بالضبط.

النوعالاختباركيف تُرسَم
Core على الأقلّ minPts من النقاط ضمن ε، بعدّ النقطة نفسها دائرة مصمتة — يتوسّع الـ cluster من خلالها
Border ليست مزدحمة بذاتها، لكنّها داخل دائرة نقطة core ما حلقة مجوّفة — تنضمّ إلى الـ cluster لكنّها لا توسّعه أبدًا
Noise لا هذه ولا تلك صليب رمادي صغير — لا ينتمي إلى شيء

أمور تستحقّ التجربة:
1. Two rings، ε = 30. اضغط Run وراقِب cluster واحدًا يزحف حول الحلقة بكاملها ثمّ يتوقّف. هذه هي الحالة التي يعجز عنها k-means عند أيّ k ويفشل فيها.

2. Smiley، ε = 30. ثلاثة clusters دون أن يزوّده أحد بـ k: عينان وفم، مع بقاء المنحنى الطويل قطعة واحدة — وهو الجواب الذي لا يبلغه k-means عند أيّ k.

3. Elongated — مجموعتان طويلتان نحيفتان، وهي النقاط نفسها المستخدَمة في صفحتَي k-means وGMM. أين الفرق؟