DavidGadyan

Ciencia de datos y ML · Full-Stack y UI/UX · Cloud, DevOps y LLMOps

Aplicación web de análisis de clústeres en Python

Por David Gadyan · Publicado el · Actualizado el · Cliente: Reuben Vandeventer

Aplicación web de clustering: CSV cargado, grafo de fuerzas D3 con clústeres coloreados y leyenda de histograma

Herramienta de clustering sin código construida para Reuben Vandeventer (producto propiedad de SecondSight): los analistas suben un archivo CSV o XLSX, eligen una columna de registro y tres dimensiones, ejecutan DBSCAN, MeanShift o MST desde una aplicación web en Python, exploran el resultado en un grafo de fuerzas interactivo en D3 y exportan los IDs de clúster a Excel. Desplegada en Heroku.

El problema

El clustering es útil mucho más allá de las personas que saben programarlo. El cliente quería una herramienta con la que un analista que entiende las técnicas de clustering, pero no Python, pudiera cargar un conjunto de datos, probar varios algoritmos, ver la estructura y llevarse el resultado en una hoja de cálculo, y que a la vez fuera lo bastante flexible para ingenieros de ML. El producto se construyó para Reuben Vandeventer y es propiedad de SecondSight.

Qué construí

  • Una aplicación web en Python con un flujo de trabajo fijo: subir un archivo CSV o XLSX, elegir la columna de nombre de registro que identifica de forma única cada fila, normalizar los datos opcionalmente y seleccionar las lentes X, Y y Z como las tres dimensiones del análisis.
  • Tres algoritmos de clustering, DBSCAN, MeanShift y MST, cada uno con sus hiperparámetros expuestos en la interfaz para que el usuario los ajuste sin tocar código.
  • Un grafo de red interactivo de fuerzas en D3 como salida principal, con nodos seleccionables y coloreados por dimensión para inspeccionar los clústeres visualmente.
  • Exportación del conjunto de datos enriquecido a CSV o Excel con nuevas columnas para los IDs de clúster y otra información útil para análisis posteriores.
  • Despliegue de la aplicación en Heroku para que el cliente pudiera usarla desde el navegador sin ninguna instalación local.

Cómo se entregó

Todo el producto funciona como una única aplicación web, de modo que la carga, la normalización, el clustering y el renderizado del grafo viven detrás de una sola URL. Alojarla en Heroku mantuvo la operación sencilla para un equipo pequeño: sin servidores que administrar, y el cliente podía compartir un enlace en lugar de instalar nada. La demo original en Heroku ya se ha retirado.

Resultado

La aplicación puso el clustering al alcance tanto de perfiles sin programación como de ingenieros de ML, con el ciclo completo, de la hoja de cálculo en bruto al grafo interactivo y a los IDs de clúster exportados, resuelto dentro del navegador. SecondSight posee todos los derechos del producto.

Proyectos relacionados

← Todos los proyectos