E189 - K-Means y DBSCAN from scratch

05-05-2026 · 113 min · Ver en YouTube

Resumen

El episodio 189 de enCoders es el segundo de la serie "from scratch": se implementan desde cero K-Means y DBSCAN, dos algoritmos clásicos de clusterización (aprendizaje no supervisado). Matías explica la intuición y programa K-Means (centroides, distancia euclidiana, asignación, actualización, SSE y convergencia), y muestra que puede caer en mínimos locales según la semilla, por lo que conviene probar varias inicializaciones (`n_init` en scikit-learn). Se discute cómo elegir K (método del codo, silueta y, sobre todo, el sentido para el negocio) y las limitaciones de K-Means: clusters no convexos y sensibilidad a outliers. Luego se presenta DBSCAN, basado en densidad con dos parámetros (radio épsilon y `min_samples`), que distingue puntos core, border y ruido, maneja formas curvas y detecta outliers, aunque es sensible a la calibración de sus parámetros y a "puentes" entre grupos. La conclusión general es que programar los algoritmos a mano ayuda a entender sus parámetros y defectos, y que se debe mantener el pensamiento crítico al usar LLMs.

Capítulos

Palabras clave

K-MeansDBSCANclusteringclusterizaciónfrom scratchcentroidesdistancia euclidianaSSEmétodo del codooutliersdensidadscikit-learn