Sobes.tech
Middle — Senior

Czym jest DBSCAN i jak pomaga w wykrywaniu odchyleń?

sobes.tech AI

Odpowiedź od AI

DBSCAN (Gęstościowe Klasteryzowanie Przestrzenne z Szumem) to algorytm klasteryzacji, który grupuje punkty danych na podstawie ich gęstości. Wyróżnia klastry jako obszary o wysokiej gęstości punktów i oznacza punkty, które nie należą do żadnego klastra, jako odchylenia (szum).

Algorytm używa dwóch głównych parametrów:

  • eps — promień sąsiedztwa punktu;
  • minPts — minimalna liczba punktów w sąsiedztwie eps do utworzenia klastra.

Jeśli punkt w sąsiedztwie eps ma mniej niż minPts sąsiadów, jest uważany za odchylenie. W ten sposób DBSCAN pomaga wykrywać odchylenia, automatycznie oddzielając rzadkie lub izolowane punkty od gęstych grup danych bez konieczności wstępnego określenia liczby klastrów.

Przykład użycia w Pythonie z biblioteką 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_)
# Wynik: etykiety klastrów, -1 oznacza odchylenie