Ultralytics YOLO27: Únete a la lista de espera.
Licencia YOLO
Volver al glosario de Ultralytics

DBSCAN (Density-Based Spatial Clustering of Applications with Noise)

DBSCAN agrupa puntos muy próximos en agrupaciones de cualquier forma y etiqueta los puntos dispersos como ruido, sin fijar de antemano el número de agrupaciones. Incluye código.

DBSCAN (agrupamiento espacial basado en densidad de aplicaciones con ruido) es un algoritmo de aprendizaje no supervisado que agrupa en clústeres los puntos muy próximos y etiqueta como ruido los puntos de regiones poco densas. Martin Ester, Hans-Peter Kriegel, Jörg Sander y Xiaowei Xu lo presentaron en la conferencia KDD de 1996. No requiere fijar de antemano el número de clústeres, detecta clústeres de cualquier forma —como anillos, medias lunas o carreteras sinuosas— y su etiqueta de ruido también funciona como una forma sencilla de detección de anomalías. Todo el algoritmo se controla con dos parámetros: el radio del vecindario y el número de puntos que hacen que un vecindario se considere denso.

Puntos centrales, puntos frontera y ruido#

DBSCAN examina el vecindario de cada punto, es decir, el conjunto de puntos situados a una distancia eps, y cuenta sus elementos:

  • Punto central: tiene al menos min_samples puntos en su vecindario, incluido él mismo en la implementación de scikit-learn. Los puntos centrales forman el interior denso de un clúster.
  • Punto frontera: no tiene suficientes vecinos para ser un punto central, pero está a una distancia eps de uno. Los puntos frontera forman los bordes de un clúster.
  • Punto de ruido: no es ninguna de las dos cosas, así que no pertenece a ningún clúster y recibe la etiqueta -1.

Un clúster crece a partir de cualquier punto central que aún no se haya visitado. DBSCAN añade todos los puntos de su vecindario y, después, repite el proceso desde cada nuevo punto central añadido hasta que no se pueda llegar a más puntos; así, una cadena de vecindarios densos superpuestos forma un solo clúster, por muchas curvas que tenga. Los puntos frontera se incorporan al clúster, pero no lo amplían. El resultado es determinista para un orden de entrada dado, pero un punto frontera al que se pueda llegar desde dos clústeres se une al que lo alcance primero; por tanto, al barajar los datos, los puntos frontera pueden cambiar de clúster.

Cómo elegir eps y min_samples#

El radio eps es el factor más importante y depende de la escala de los datos; por eso, normalmente se estandarizan primero las características. Si el radio es demasiado pequeño, la mayoría de los puntos quedan como ruido; si es demasiado grande, se fusionan los clústeres vecinos. La heurística habitual ordena las distancias de cada punto a su k-ésimo vecino más cercano, con k igual a min_samples, y elige eps en el codo de esa curva, donde las distancias empiezan a aumentar bruscamente. Los valores más altos de min_samples hacen que el agrupamiento tolere mejor el ruido y son habituales en conjuntos de datos grandes o ruidosos. En espacios de alta dimensionalidad, como los de los embeddings de imágenes, las distancias entre puntos tienden a parecerse, así que los profesionales suelen aplicar una reducción de dimensionalidad, como el análisis de componentes principales (PCA), antes de ejecutar DBSCAN.

DBSCAN frente a k-means y HDBSCAN#

El agrupamiento k-means requiere conocer de antemano el número de clústeres, asigna cada punto al centroide más cercano y, por tanto, favorece los clústeres compactos y redondeados, además de incorporar los valores atípicos a algún grupo. DBSCAN descubre el número de clústeres a partir de la densidad y deja fuera los valores atípicos. Su punto débil es contar con un único eps global: si los clústeres tienen densidades muy distintas, ningún radio separa a la vez los clústeres dispersos del ruido y los clústeres densos entre sí. HDBSCAN aborda este problema ejecutando, en la práctica, DBSCAN con todos los valores de eps y conservando los clústeres más estables. Ambos algoritmos están disponibles en el módulo de agrupamiento de scikit-learn, junto con OPTICS, que está relacionado.

Este ejemplo agrupa dos medias lunas entrelazadas con 20 valores atípicos aleatorios añadidos y compara cada resultado con los grupos verdaderos mediante el índice Rand ajustado, en el que 1.0 representa una coincidencia perfecta:

import numpy as np
from sklearn.cluster import DBSCAN, KMeans
from sklearn.datasets import make_moons
from sklearn.metrics import adjusted_rand_score

# Two interleaving crescents plus 20 scattered outliers (true label -1)
X, y = make_moons(n_samples=300, noise=0.05, random_state=0)
rng = np.random.default_rng(0)
X = np.vstack([X, rng.uniform(-1.5, 2.5, size=(20, 2))])
y = np.concatenate([y, np.full(20, -1)])

# DBSCAN infers clusters from density; k-means is told there are 2
db_labels = DBSCAN(eps=0.2, min_samples=5).fit_predict(X)
km_labels = KMeans(n_clusters=2, random_state=0).fit_predict(X)

print(f"DBSCAN: {db_labels.max() + 1} clusters, {(db_labels == -1).sum()} noise points")
print(f"ARI: DBSCAN {adjusted_rand_score(y, db_labels):.2f}, k-means {adjusted_rand_score(y, km_labels):.2f}")

El script muestra 2 clústeres y 15 puntos de ruido para DBSCAN, e índices Rand ajustados de 0.97 para DBSCAN y 0.20 para k-means. DBSCAN sigue ambas medias lunas y aparta los valores atípicos que quedan lejos de ellas, mientras que k-means corta las medias lunas con una frontera recta, aunque se le haya indicado el número correcto de clústeres.

Aplicaciones en el mundo real#

  • Percepción LiDAR: los flujos de trabajo de vehículos autónomos y robótica eliminan los puntos del suelo de un barrido LiDAR y agrupan después los puntos 3D restantes en obstáculos independientes. El agrupamiento basado en la densidad es una opción habitual porque se desconoce el número de objetos.
  • Posprocesamiento de detecciones: los centros de las cajas de las detecciones de YOLO26, disponibles como result.boxes.xywh, se pueden agrupar con DBSCAN para encontrar grupos de personas entre una multitud o ubicaciones recurrentes de defectos en una línea de producción; las detecciones aisladas quedan clasificadas como ruido.
  • Supervisión del fraude y de los sensores: Las transacciones o lecturas etiquetadas con -1 están lejos de todos los grupos densos de comportamiento normal y se convierten en candidatas a revisión.
  • Análisis geoespacial: Las empresas de reparto y de transporte con conductor agrupan puntos GPS para encontrar paradas frecuentes y zonas populares de recogida. DBSCAN de Scikit-learn acepta metric="haversine" para la latitud y la longitud en radianes; en ese caso, eps es un ángulo sobre la esfera unitaria, por lo que un radio de 100 metros se convierte en eps = 0.1 / 6371, usando el radio medio de la Tierra de 6.371 km.

Explora las soluciones

Visión artificial en el deporte

Visión artificial en el deporte

Descubre cómo Ultralytics YOLO impulsa la visión artificial en el deporte con el seguimiento de jugadores y balones, analíticas de rendimiento, información útil para entrenadores y rehabilitación de deportistas.
Más información
Visión artificial para imágenes aéreas

Visión artificial para imágenes aéreas

Convierte imágenes aéreas y de drones en información útil en tiempo real para la agricultura, la acuicultura, la conservación y el análisis geoespacial con Ultralytics YOLO.
Más información
Visión artificial en el sector aeroespacial

Visión artificial en el sector aeroespacial

Aplica la visión artificial en el sector aeroespacial con Ultralytics YOLO para inspeccionar aeronaves, detectar objetos extraños en pistas, gestionar operaciones en tierra y detectar defectos en materiales compuestos.
Más información
Visión artificial en seguridad

Visión artificial en seguridad

Protege todas tus instalaciones con los modelos Ultralytics YOLO. La IA visual permite supervisar perímetros, detectar amenazas, reconocer matrículas y mejorar la seguridad laboral.
Más información
Visión artificial en robótica

Visión artificial en robótica

Potencia máquinas más inteligentes con los modelos Ultralytics YOLO. La IA visual en robótica impulsa la navegación autónoma, la percepción, el seguimiento de objetos y el control en tiempo real.
Más información
Visión artificial en logística

Visión artificial en logística

Agiliza la logística con modelos Ultralytics YOLO. La IA visual permite inspeccionar paquetes, clasificarlos, realizar el seguimiento de vehículos y supervisar la seguridad del almacén en tiempo real.
Más información
Visión artificial en el comercio minorista

Visión artificial en el comercio minorista

Reinventa el comercio minorista con modelos Ultralytics YOLO. La IA visual permite realizar el seguimiento del inventario, supervisar estanterías, gestionar colas y obtener información más útil sobre los clientes.
Más información
Visión artificial en el sector sanitario

Visión artificial en el sector sanitario

Desarrolla soluciones sanitarias con modelos Ultralytics YOLO. La IA visual en el sector sanitario permite acelerar el diagnóstico por imagen, mejorar los diagnósticos y supervisar a los pacientes.
Más información
Visión artificial en la fabricación

Visión artificial en la fabricación

Optimiza la fabricación con modelos Ultralytics YOLO. La IA visual mejora el control de calidad, la detección de defectos, el cumplimiento de las normas de uso de EPI y la automatización de las líneas de montaje.
Más información
Visión artificial en la automoción

Visión artificial en la automoción

Aplica la visión artificial al sector de la automoción con modelos Ultralytics YOLO. La IA visual mejora la seguridad vial, la asistencia al conductor y la automatización de vehículos para lograr carreteras más inteligentes.
Más información
Visión artificial en la agricultura

Visión artificial en la agricultura

Incorpora la IA de visión a la agricultura inteligente con modelos Ultralytics YOLO. Impulsa la monitorización de cultivos, el seguimiento del ganado y la agricultura de precisión para obtener cosechas más abundantes e inteligentes.
Más información

¡Construyamos juntos el futuro de la IA!

Inicia tu recorrido hacia el futuro del aprendizaje automático