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