Middle — Senior
Mi az a DBSCAN és hogyan segít a kiugró értékek megtalálásában?
sobes.tech MI
Válasz az MI-től
A DBSCAN (Sűrűség-alapú Térbeli Csoportosítás Zajjal) egy olyan csoportosítási algoritmus, amely a sűrűség alapján csoportosítja az adatpontokat. A klasztereket magas sűrűségű pontok területeiként azonosítja, és azokat a pontokat, amelyek nem tartoznak egyik klaszterhez sem, kiugró értékeknek (zajnak) jelöli.
Az algoritmus két fő paramétert használ:
- eps — a pont körüli környezet sugara;
- minPts — a minimális pontszám a eps környezetben egy klaszter kialakításához.
Ha egy pont eps környezetében kevesebb, mint minPts szomszéd van, akkor kiugró értéknek tekinthető. Így a DBSCAN segít automatikusan felismerni a kiugró értékeket, különválasztva a ritka vagy izolált pontokat a sűrű adatcsoportoktól anélkül, hogy előre meg kellene határozni a klaszterek számát.
Pythonban a scikit-learn könyvtár segítségével például így használható:
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_)
# Kimenet: klaszter címkék, -1 kiugró értéket jelent