Sobes.tech
Middle — Senior

DBSCAN چیست و چگونه در یافتن موارد استثنایی کمک می‌کند؟

sobes.tech AI

Ҷавоб аз AI

DBSCAN (Ғафсиятқа асосланган фазовий кластерлаш ва шуор) — маълумот нуқталари ҳудудларини густликка асосланиб гуруҳлаш алгоритми. У юқори густликдаги нуқталарни кластерлар сифатида ажратади ва кластерга кирмайдиган нуқталарни чиқиндилар (шуор) сифатида белгилайди.

Алгоритм икки асосий параметрдан фойдаланади:

  • eps — нуқта атрофидаги яқинлик радиуси;
  • minPts — eps яқинликдаги минимал нуқта сони, кластерни ташкил қилиш учун.

Агар eps яқинликдаги нуқтада minPtsдан кам қўшни бўлса, у чиқиндий деб ҳисобланади. Шу тариқа, DBSCAN автоматик равишда чиқиндиларни аниқлашда ёрдам беради, сирдароқ ёки изолатланган нуқталарни юқори густликдаги маълумот гуруҳларидан ажратиб, олдиндан кластерлар сонини белгиланиш шарт эмас.

Pythonда scikit-learn китобхонаси билан қўлланиш намунаси:

from sklearn.cluster import DBSCAN
import numpy as np

X = np.array([[1, 2], [2, 2], [2, 3], [8, 7], [8, 8], [25, 80]])

clustering = DBSCAN(eps=3, min_samples=2).fit(X)
print(clustering.labels_)
# Натича: кластер белгилари, -1 — чиқиндий