Clústeres de precisión simplificados Guía de kscorer para la selección automática óptima de clústeres K-means

Guía simplificada de Clústeres de precisión selección óptima automática con kscorer para clústeres K-means

kscorer agiliza el proceso de agrupamiento y ofrece un enfoque práctico para el análisis de datos a través de puntuación avanzada y paralelización

Hecho por DALL-E-2 según la descripción del autor

El aprendizaje automático no supervisado, en particular el agrupamiento, es una tarea desafiante en la ciencia de datos. Es crucial para una amplia gama de proyectos prácticos de análisis de negocios. El agrupamiento puede funcionar por sí solo, pero también es un componente valioso en tuberías de procesamiento de datos complejas que mejoran la eficiencia de otros algoritmos. Por ejemplo, el agrupamiento juega un papel crucial en el desarrollo de un sistema de recomendación.

Bien, Scikit-Learn ofrece notoriamente varios algoritmos de agrupamiento probados. Sin embargo, la mayoría de ellos son paramétricos y requieren establecer el número de grupos, que es uno de los desafíos más significativos en el agrupamiento.

Comúnmente, se utiliza un método iterativo para decidir el número óptimo de grupos al trabajar con datos. Significa que se lleva a cabo el agrupamiento varias veces, cada vez con un número diferente de grupos, y se evalúa el resultado correspondiente. Si bien esta técnica es útil, tiene limitaciones.

El paquete yellowbrick es una herramienta comúnmente utilizada que facilita la identificación del número óptimo de grupos. Sin embargo, también tiene algunas desventajas. Una desventaja significativa es la posibilidad de resultados conflictivos al evaluar múltiples métricas y el desafío de identificar una curva del codo en el diagrama.

Además, el tamaño del conjunto de datos plantea otro problema, independientemente del paquete utilizado. Al trabajar con conjuntos de datos grandes, las dificultades de consumo de recursos pueden dificultar su capacidad para iterar de manera eficiente a través de una amplia gama de grupos. Si este es el caso, considere explorar técnicas como MiniBatchKMeans, que pueden permitir agrupamiento paralelo.

Pero la optimización avanzada de su rutina de agrupamiento puede requerir técnicas menos conocidas, que se describen a continuación. También conocerá el paquete kscorer, que simplifica estas técnicas, ofreciendo un enfoque más sólido y eficiente para determinar el número óptimo de grupos.

Sin contratiempos, estas técnicas son:

  • Reducción de dimensionalidad. Puede ser beneficioso realizar un Análisis de Componentes Principales (PCA) en los datos antes de aplicar el algoritmo de agrupamiento. Esto reducirá la interferencia de datos y conducirá a un proceso de agrupamiento más confiable.
  • Similaridad de coseno. Hay una manera sencilla de utilizar distancias de coseno (aproximadamente) en K-medias mediante la aplicación de normalización euclidiana a los datos. De esta manera, no es necesario calcular previamente la matriz de distancias, como al realizar agrupamiento aglomerativo.
  • Múltiples métricas disponibles. Para encontrar el número óptimo de grupos, se debe basar en una evaluación de múltiples métricas en lugar de depender de una sola métrica.
  • Muestreo de datos. Para abordar problemas de consumo de recursos y mejorar los resultados de agrupamiento, se pueden obtener muestras aleatorias de datos para realizar operaciones de agrupamiento y evaluar métricas. El promedio de puntajes de múltiples iteraciones puede reducir el efecto de la aleatoriedad y producir resultados más consistentes.

Este flujo de trabajo se ilustra a continuación.

Imagen de un autor

Afortunadamente, no es necesario construir esta tubería completa desde cero, ya que actualmente hay una implementación disponible en el paquete kscorer.

Ahora, profundicemos un poco más

Una vez escuché a un científico de datos afirmar en una charla de conferencia: “Básicamente, puedes hacer lo que quieras, siempre y cuando sepas lo que estás haciendo.” © Alex2006

Se recomienda escalar tus datos antes de agruparlos para asegurarte de que todas las características estén en igualdad de condiciones y ninguna domine debido a su magnitud. La estandarización (centrado en la media y escalado por la desviación estándar) o la escala Min-Max (escalar los valores a un rango especificado) son técnicas comunes utilizadas para escalar.

Vale la pena destacar que la importancia de la normalización de características, perfectamente ilustrada aquí, no se limita solo a los modelos KNeighbors, sino que también se aplica a varias metodologías de ciencia de datos. La estandarización de características a través de la normalización z-score asegura que todas las características estén en la misma escala, evitando que cualquier característica domine el ajuste del modelo debido a sus magnitudes. Este procedimiento de escala puede afectar significativamente el rendimiento del modelo, lo que resulta en diferentes ajustes del modelo en comparación con el uso de datos no escalados.

Además, existe un vínculo fundamental entre la clustering de K-means y PCA, explorado en el documento de Ding y He “Clustering de K-means a través del Análisis de Componentes Principales”. Aunque inicialmente sirven para propósitos distintos, estas técnicas finalmente tienen como objetivo representar eficientemente los datos minimizando los errores de reconstrucción. PCA tiene como objetivo representar los vectores de datos como una combinación de un número reducido de eigenvectores. En contraste, la clustering de K-means tiene como objetivo representar los vectores de datos como una combinación de los vectores del centroide del clúster. Ambos enfoques se esfuerzan por minimizar el error de reconstrucción al cuadrado medio.

Después de aplicar PCA, volveremos a escalar nuestros datos debido a problemas computacionales que puedan surgir (algunos valores pueden ser cercanos a cero mientras que otros serán bastante grandes). Esto tiene mucho sentido ya que ya hemos perdido el rastro de nuestras características iniciales (después de PCA), por lo que no habrá interpretación de los datos.

Otra correlación interesante que puede no ser comúnmente conocida es entre la similitud del coseno y la distancia euclidiana. Comprender la relación entre estas medidas es crucial cuando se utilizan indistintamente, aunque de forma indirecta. Este conocimiento tiene una aplicación práctica en la transformación del algoritmo de clustering de K-means tradicional en el algoritmo de clustering de K-means Esférico, donde la similitud del coseno es una métrica vital para agrupar los datos. Como se mencionó anteriormente, podemos “establecer” la conexión entre la similitud del coseno y la distancia euclidiana aplicando normalización euclidiana a los datos.

En ausencia de etiquetas de clúster de referencia, la evaluación de los modelos de clustering debe basarse en medidas intrínsecas, y el paquete kscorer ofrece un conjunto completo de indicadores para evaluar la calidad del clustering. Estos indicadores proporcionan información valiosa sobre el grado de separación entre los clústeres reconocidos:

  • Coeficiente de Silueta. Cuantifica la separación de los clústeres calculando la diferencia entre la distancia media al clúster más cercano al que un punto de datos no pertenece y la distancia intraclúster media para cada punto de datos. El resultado se estandariza y se expresa como la relación entre los dos, con valores elevados que indican una superior separación de clústeres.
  • Índice de Calinski-Harabasz. Calcula la relación entre la dispersión entre clústeres y la dispersión dentro de los clústeres. Un puntaje mayor en la prueba de Calinski-Harabasz indica un mejor rendimiento del clustering, lo que indica clústeres bien definidos.
  • Índice de Davies-Bouldin. Mide la relación entre la dispersión entre clústeres y la dispersión dentro de los clústeres, donde un valor más bajo indica un mejor rendimiento del clustering y clústeres más distintos.
  • Índice de Dunn. Evalúa la calidad del clúster al comparar la distancia interclúster (la menor distancia entre cualquier par de centroides de clúster) con la distancia intraclúster (la mayor distancia entre cualquier par de puntos dentro de un clúster). Un índice de Dunn más alto indica clústeres más bien definidos.

El cálculo en Python para el índice utilizado en el paquete se describe de la siguiente manera:

  • Criterio de Información Bayesiano (BIC). El BIC sirve como una métrica adicional y en cierta medida independiente. Si bien K-means no ofrece un modelo probabilístico directo, el BIC puede ayudar a estimar la distribución de los datos después de aplicar un modelo K-means. Este enfoque proporciona una evaluación más completa de la calidad del clúster.

Todas las métricas están estandarizadas, lo que garantiza que puntuaciones más altas indiquen consistentemente grupos bien definidos. Esta evaluación exhaustiva es crucial para identificar el número óptimo de grupos en un conjunto de datos.

Para superar las limitaciones de memoria y ejecutar de manera rápida las operaciones de preprocesamiento y puntuación de datos para el clustering K-means, el paquete kscorer utiliza N muestras aleatorias de datos. Este enfoque garantiza una ejecución sin problemas y se adapta a conjuntos de datos de diferentes tamaños y estructuras. Similar a las técnicas de validación cruzada, mantiene resultados sólidos, aunque cada iteración se centre en un subconjunto limitado de datos.

Práctica con kscorer

Entonces, tenemos algunos datos para agrupar. Ten en cuenta que pretendemos no conocer el número exacto de grupos en este escenario.

Avanzando, dividiremos nuestro conjunto de datos en conjuntos de entrenamiento y prueba y ajustaremos un modelo para detectar el número óptimo de grupos. El modelo buscará automáticamente el número óptimo de grupos entre 3 y 15. Esto se puede lograr fácilmente de la siguiente manera:

Después de completar el proceso de ajuste, podemos revisar las puntuaciones escaladas para todas las métricas aplicadas. Esto nos ayudará a determinar el mejor número de grupos para nuestros datos disponibles. Al revisar el gráfico, notarás que algunos grupos están resaltados con las puntuaciones correspondientes. Estos puntos etiquetados corresponden a los máximos locales en las puntuaciones promedio de todas las métricas y, por lo tanto, representan las mejores opciones para seleccionar el número óptimo de grupos.

Ahora, podemos evaluar qué tan bien coinciden nuestras nuevas etiquetas de grupos con las etiquetas verdaderas. Asegúrate de que esta opción generalmente no está disponible en escenarios empresariales prácticos 😉

En un movimiento inusual en el agrupamiento, podrías intentar agrupar datos que no se hayan visto antes. Pero ten en cuenta que esta no es una tarea de agrupamiento típica. Una estrategia diferente y a menudo más útil sería crear un clasificador utilizando las etiquetas de grupos como objetivos. Esto facilitará asignar etiquetas de grupos a nuevos datos.

Y, finalmente, una nueva perspectiva interactiva de nuestros datos.

Entonces, así es como nos hemos sumergido en el clustering K-means utilizando el paquete kscorer, que simplifica el proceso de encontrar el número óptimo de grupos. Debido a sus complejas métricas y procesamiento paralelo, se ha demostrado que es una herramienta práctica para el análisis de datos.

We will continue to update Zepes; if you have any questions or suggestions, please contact us!

Share:

Was this article helpful?

93 out of 132 found this helpful

Discover more

Inteligencia Artificial

Calidad desigual de los parques expuesta a través de las redes sociales y el aprendizaje automático

El estudio utiliza las redes sociales y el aprendizaje automático para mostrar las injusticias ambientales en los par...

Inteligencia Artificial

Encontrar respuestas (sobre la mejor manera de encontrar respuestas)

Los científicos de la computación en la Universidad del Sur de California consideraron cuáles son las mejores represe...

Inteligencia Artificial

Disney empaqueta grandes emociones en un pequeño robot

La semana pasada, un equipo de científicos de Disney Research presentó un personaje robótico bipedal que combina un c...

Inteligencia Artificial

Destaques y Contribuciones de NeurIPS 2023

La conferencia de Sistemas de Procesamiento de Información Neuronal, NeurIPS 2023, se erige como la cima de la búsque...

Ciencia de Datos

¿Qué es los datos sintéticos?

Los datos sintéticos son, para decirlo sin rodeos, datos falsos. Es decir, datos que no son realmente de la población...