خوارزمية DBSCAN تجمع النقاط التي تكوّن مناطق كثيفة متصلة، ويمكن أن تترك نقاطًا خارج المجموعات بوصفها ضوضاء. لا تطلب منك تحديد عدد المجموعات مسبقًا، بل إعدادات للجوار والكثافة. [1]
الخلاصة السريعة
تحدد خوارزمية DBSCAN مجموعات من الاتصال بين مناطق كثيفة؛ الضوضاء في ناتجها وصف بحسب الإعدادات، وليست دليل خطأ في البيانات. [1]
- تحدد eps مسافة الجوار، وتحدد min_samples حد العدد اللازم للنقطة الأساسية؛ في scikit-learn تدخل النقطة نفسها في العد. [1]
- تمتد المجموعة عبر نقاط أساسية متصلة، وتضم نقاطًا حدية قريبة منها؛ ما لا ينضم يعد ضوضاء. [2]
- عند eps = 1 وmin_samples = 3، يوضح المثال الفرق بين الأساسية والحدية والنقطة المعزولة.
- قد تدمج مسافة كبيرة مجموعات أو تترك مسافة صغيرة نقاطًا كثيرة؛ اختلاف الكثافات يحد من نجاح إعداد موحد. [2]
كيف نحدد الجوار والمنطقة الكثيفة؟
eps أكبر مسافة للجيران بحسب مقياس المسافة المختار، وليست قطر المجموعة النهائي. وتحدد min_samples عدد الأمثلة اللازمة لتكون النقطة أساسية؛ يشمل عد scikit-learn النقطة نفسها. [1]
اكتب وحدة المسافة بجانب إعداد الجوار. إذا عرضت رسمًا بوحدات افتراضية، فلا تسميها أمتارًا بلا بيانات توضح ذلك. كما لا تنقل قيمة نصف قطر من مثال آخر لمجرد أن الرسمين متشابهان في الشكل؛ حجم المحاور جزء من معنى القرب.
ما الفرق بين الأساسية والحدية والضوضاء؟
النقطة الأساسية تحقق حد الكثافة. تتصل النقاط الأساسية لتكوين المجموعة، وقد تضم نقاطًا غير أساسية تقع في جوار نقطة أساسية. أما النقطة غير المنضمة فتوسم ضوضاء. [2]
لا يلزم أن تكون جميع نقطتين في المجموعة على مسافة أقل من eps. فالامتداد ممكن عبر سلسلة من النقاط الأساسية المتجاورة. [2]
مثال على خط: نقطة وسط ونهايتان ومعزولة
في مثال من إعداد المقال، ضع نقاطًا عند 0 و0.8 و1.6 و6. استخدم مسافة خطية، وeps = 1، وmin_samples = 3 مع احتساب النقطة نفسها كما يفعل scikit-learn. [1]
النقطة 0.8 ترى نفسها والنقطتين 0 و1.6 في جوارها، فيبلغ العدد ثلاثة، وتكون أساسية. النقطة 0 ترى نفسها و0.8 فقط، فلا تكون أساسية، لكنها قريبة من نقطة أساسية وتنضم بوصفها حدية. ينطبق الأمر نفسه على 1.6. أما 6 فلا تصل إلى نقطة أساسية، فتظل ضوضاء في هذا المثال.
المسافة بين 0 و1.6 أكبر من الواحد، ومع ذلك ينتميان إلى المجموعة نفسها عبر الأساسية 0.8. راجع هذه الجزئية قبل أن تصف eps بأنه أكبر مسافة بين أي نقطتين في المجموعة. الأرقام مجرد بناء تعليمي، ولم نسجل مواقع حقيقية أو نشغّل تجربة بيانات.
وجود النقطة 6 خارج المجموعة لا يخبرنا وحده إن كانت قيمة مسجلة خطأ أو حالة قليلة التكرار لكنها صحيحة. يمكن أن يكون هدف التحليل الاحتفاظ بهذه الحالات للمراجعة، لذلك لا تحول كلمة «ضوضاء» إلى أمر حذف تلقائي.
متى نعيد النظر في الإعدادات؟
نصف قطر صغير قد يترك معظم النقاط ضوضاء، وكبير قد يدمج مجموعات. وقد تواجه DBSCAN صعوبة مع مجموعات مختلفة الكثافة، لأن الإعداد الواحد لا يناسبها كلها. [2]
في مثال الخط، تغيير قيمة إعداد واحد يغيّر معنى المنطقة الكثيفة المطلوب العثور عليها. لا تسأل فقط كم مجموعة ظهرت؛ اسأل ما العلاقة التي أردت أن تمثلها المجموعة، وهل النقاط المعزولة تحتاج تفسيرًا. اعرض الإعدادات ومقياس المسافة إلى جانب النتيجة، حتى يستطيع القارئ فهم سبب اختلافها عن نتيجة تحليل آخر.
المصادر ومتابعة القراءة
- scikit-learn: DBSCAN API (يفتح في نافذة جديدة)scikit-learn.org
- scikit-learn: DBSCAN clustering guide (يفتح في نافذة جديدة)scikit-learn.org
أُعدّ هذا المقال بصياغة عربية أصلية بالاستناد إلى المصادر أعلاه، وهو مدخل تمهيدي إلى الموضوع. اقرأ منهجية المحتوى وحدوده.
