Sobes.tech
Middle — Senior

Kas yra DBSCAN ir kaip jis padeda rasti išskirtinius duomenis?

sobes.tech AI

Atsakymas iš AI

DBSCAN (Tankio pagrįstas erdvinis grupavimas su triukšmu) yra klasterizavimo algoritmas, kuris grupuoja duomenų taškus pagal tankį. Jis išskiria klasterius kaip sričių su dideliu taškų tankiu ir žymi taškus, kurie nepriklauso jokiam klasteriui, kaip išskirtinius (triukšmą).

Algoritmas naudoja du pagrindinius parametrus:

  • eps — taško apylinkės spindulys;
  • minPts — minimalus taškų skaičius eps apylinkėje, reikalingas klasteriui sukurti.

Jei taške eps apylinkėje yra mažiau nei minPts kaimynų, jis laikomas išskirtiniu. Taip, DBSCAN padeda automatiškai aptikti išskirtinius taškus, atskiriant retus arba izoliuotus taškus nuo tankių duomenų grupių, nereikalaujant iš anksto nustatyti klasterių skaičiaus.

Python pavyzdys naudojant scikit-learn biblioteką:

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_)
# Išvestis: klasterių žymės, -1 reiškia išskirtinį tašką