Contenido del curso

- DBSCAN: Clustering Basado en Densidad para Detección de Comunidades

DBSCAN: Clustering Basado en Densidad · Detección de Comunidades

Odisea Algorítmica · De la regresión al aprendizaje profundo. En esta lección exploramos DBSCAN, un algoritmo de clustering que descubre comunidades con formas libres y señala outliers de forma natural. A diferencia de K-Means o el clustering jerárquico, DBSCAN no necesita que definamos el número de grupos a priori y es especialmente efectivo en datos con ruido y densidad variable.

🎯 Motivación clave — Los datos reales rara vez forman esferas perfectas. Redes sociales, trayectorias de movimiento, galaxias: sus clusters pueden ser alargados, cóncavos o con ramificaciones. Además, los outliers (puntos raros) son valiosos. DBSCAN fue diseñado para encontrar tesoros escondidos sin forzar cada punto a un grupo.

🧭 Parámetros fundamentales: epsilon (eps) y min_samples

DBSCAN funciona midiendo la densidad local. Dos parámetros guían el proceso:

  • ε (epsilon / eps) — radio de vecindad alrededor de cada punto. Define qué tan cerca debe estar otro punto para ser considerado vecino.
  • min_samples — número mínimo de puntos (incluyéndose a sí mismo) dentro del radio ε para que un punto sea considerado “núcleo”.

Si elegimos un ε muy pequeño, fragmentaremos los clusters; si es muy grande, los fusionaremos. La regla general: explorar con k-distance graph. min_samples típicamente se fija ≥ dimensionalidad + 1, pero en la práctica suele usarse 5 o más.

⚙️ Algoritmo: puntos núcleo, frontera y ruido

DBSCAN clasifica cada punto en tres categorías:

  • Punto núcleo (core) — tiene al menos min_samples dentro de su radio ε (incluyéndose).
  • Punto de frontera (border) — no es núcleo, pero está dentro del radio ε de un punto núcleo.
  • Punto de ruido (outlier) — no es núcleo ni frontera. No pertenece a ningún cluster.

El algoritmo itera: cualquier punto núcleo inicia un cluster y atrae a todos los puntos que estén a su alcance (densamente conectados). Los puntos frontera se agregan al cluster del núcleo que los cubre. El ruido permanece aislado.

💡 Interpretación visual: imagina vecindarios en una ciudad. Los puntos núcleo son plazas con mucha actividad, los de frontera son las calles aledañas, y el ruido son casas aisladas en el campo. Así DBSCAN reconoce comunidades naturales sin forzar una forma circular.

🌐 Comunidades en redes sociales · el paradigma relacional

Las redes de seguidores, amistades o coautorías poseen estructura de comunidad. Con DBSCAN podemos detectar grupos densamente conectados y nodos desconectados (usuarios esporádicos). A diferencia de otros métodos, DBSCAN:

  • No asume que todos los nodos pertenezcan a una comunidad (ruido = cuentas inactivas).
  • Revela comunidades con formas irregulares (por ejemplo, un grupo de investigadores que colabora en forma de estrella).
  • Es robusto ante nodos puente (no los obliga a elegir un solo grupo).

⚖️ Comparación con K-Means y clustering jerárquico

CaracterísticaDBSCANK-MeansJerárquico
Forma de clustersarbitraria, basada en densidadesférica / convexadepende del enlace (single-link permite formas alargadas)
Detección de outliers✅ nativa (ruido)❌ asigna todos a un cluster❌ puede forzar agrupación
Número de clusters (k)automático (excepto parámetros de densidad)requiere fijar krequiere elegir corte en dendrograma
EscalabilidadO(n²) naive; O(n log n) con índicesO(n·k·d) rápidoO(n²) o O(n³)
Densidad variablelimitado (eps global) – opción OPTICSno maneja bienpuede adaptarse con enlace completo

Nota: DBSCAN brilla cuando hay ruido significativo y formas no convexas; K-Means es más rápido en datos limpios y esféricos.

🧪 Ejemplo práctico · detección de comunidades en red de coautorías

Imagina un conjunto de 200 investigadores con publicaciones en distintas áreas. Cada autor es un punto; la distancia puede definirse por coautoría (número de trabajos conjuntos). Aplicamos DBSCAN con eps=0.8 y min_samples=4:

  • Aparecen 5 clusters principales: “procesamiento de lenguaje natural”, “visión por computadora”, “bioinformática”, “sistemas distribuidos” y “teoría de grafos”.
  • 12 autores son marcados como ruido: investigadores multidisciplinarios con pocas colaboraciones estables (no pertenecen a una comunidad densa).
  • Se detectan puntos frontera: autores que publican en dos áreas pero con mayor densidad en una.

Este approach se usa para mapear frentes de investigación, identificar grupos de expertos o recomendar colaboraciones.

📌 Implementación conceptual (pseudocódigo y consideraciones)

from sklearn.cluster import DBSCAN
modelo = DBSCAN(eps=0.5, min_samples=5, metric='euclidean')
etiquetas = modelo.fit_predict(X)
# -1 representa ruido; 0,1,2... son IDs de cluster

En redes sociales, la métrica puede ser precomputed (matriz de distancias basada en seguidores comunes). Si los datos tienen alta dimensionalidad, reduce con PCA o UMAP (pero cuidado con distorsiones).

⏳ Resumen para tu arsenal algorítmico: DBSCAN es ideal cuando sospechas que hay grupos de formas libres, outliers informativos y no quieres predefinir el número de clústeres. Combínalo con visualización de densidad para ajustar eps. Perfecto para redes, geolocalización, segmentación de comportamientos atípicos y detección de comunidades.

Odisea Algorítmica · Siguiente lección: OPTICS y HDBSCAN para densidad variable. El camino continúa.

Motivación: clusters de forma arbitraria y detección de outliers. Parámetros epsilon (eps) y min_samples. Algoritmo: puntos núcleo, frontera y ruido. Interpretación de comunidades en redes sociales. Comparación con K-Means y jerárquico. Ejemplo práctico: detección de comunidades en una red de coautorías o de seguidores en Twitter.
Calificación
0 0

No hay comentarios por ahora.