Sobes.tech
Middle — Senior

O que é o DBSCAN e como ele ajuda a encontrar outliers?

sobes.tech IA

Resposta da IA

O DBSCAN (Agrupamento Espacial Baseado em Densidade com Ruído) é um algoritmo de agrupamento que agrupa pontos de dados com base na densidade. Ele identifica clusters como áreas de alta densidade de pontos e marca pontos que não pertencem a nenhum cluster como valores discrepantes (ruído).

O algoritmo usa dois parâmetros principais:

  • eps — raio da vizinhança do ponto;
  • minPts — número mínimo de pontos na vizinhança eps para formar um cluster.

Se um ponto na vizinhança eps tiver menos de minPts vizinhos, é considerado um valor discrepante. Assim, o DBSCAN ajuda a detectar valores discrepantes, separando automaticamente pontos raros ou isolados de grupos densos de dados sem precisar definir previamente o número de clusters.

Exemplo de uso em Python com a biblioteca 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_)
# Saída: etiquetas de clusters, -1 indica um valor discrepante