Agrupación en clústeres de barrido

Realiza un barrido de parámetros para determinar la configuración óptima de un modelo de agrupación en clústeres

Categoría: machine learning/entrenar

Nota

Se aplica a: machine learning Studio (clásico)

Este contenido solo pertenece a Studio (clásico). Se han agregado módulos similares de arrastrar y colocar al diseñador de Azure Machine Learning. Obtenga más información en este artículo comparativa de las dos versiones.

Información general sobre el módulo

En este artículo se describe cómo usar el módulo de agrupación en clústeres de barrido en Azure machine learning Studio (clásico) para entrenar un modelo mediante un barrido de parámetros. Un barrido de parámetros es una manera de encontrar los mejores hiperparámetros para un modelo, dado un conjunto de datos.

El módulo de agrupación en clústeres de barrido está diseñado específicamente para los modelos de agrupación en clústeres. Proporciona un modelo de agrupación en clústeres como entrada, junto con un conjunto de datos. El módulo recorre en iteración un conjunto de parámetros que se especifican, compilando y probando modelos con parámetros diferentes, hasta que encuentre el modelo con el mejor conjunto de clústeres. Calcula automáticamente la mejor configuración y, a continuación, entrena un modelo usando esa configuración.

También devuelve un conjunto de métricas que describen los modelos que se han probado y un conjunto de asignaciones de clúster basadas en el mejor modelo.

Cómo configurar la agrupación en clústeres de barrido

  1. Agregue el módulo de agrupación en clústeres de barrido al experimento en Studio (clásico). Puede encontrar este módulo en machine learning, en la categoría entrenar .

  2. Agregue el módulo de agrupación en clústeres K-means y el conjunto de pruebas de entrenamiento al experimento y conéctelas al módulo de agrupación en clústeres de barrido .

  3. Configure el módulo de agrupación en clústeres K-means para usar un barrido de parámetros como se indica a continuación:

    1. Establezca crear modo de profesor en intervalo de parámetros.

    2. Use el generador de intervalos (o escriba manualmente varios valores) para cada parámetro con el fin de establecer el intervalo de valores que se va a recorrer en iteración.

    3. Inicialización del barrido: especifique cómo debe encontrar el algoritmo K-means el centroides inicial del clúster. Se proporcionan varios algoritmos para la inicialización y prueba de centroides de forma aleatoria.

      Si el conjunto de contenido de entrenamiento contiene una columna de etiqueta, incluso con valores parciales, puede usar esos valores para centroides. Use la opción asignar modo de etiqueta para indicar cómo se usan los valores de etiqueta.

      Sugerencia

      La columna de etiqueta debe marcarse como tal de antemano. Si recibe un error, pruebe a usar editar metadatos para identificar la columna que contiene etiquetas.

    4. Número de semillas para el barrido: indique cuántas semillas de Inicio aleatorio diferentes se intentarán al realizar el barrido de parámetros.

    5. Elija la métrica que se usará al medir la similitud del clúster. Para obtener más información, consulte el tema sobre agrupación en clústeres K-means .

    6. Iteraciones: especifique el número total de iteraciones que debe realizar el algoritmo K-means. Estas iteraciones se usan para optimizar la selección del centroides del clúster.

    7. Si usa una columna de etiqueta para inicializar el barrido, use la opción asignar modo de etiqueta para especificar cómo se deben controlar los valores de la columna de etiqueta.

      • Rellenar valores que faltan: Si la columna de etiqueta contiene algunos valores que faltan, use esta opción para imputar categorías basadas en el clúster al que se asigna el punto de datos.

      • Sobrescribir de más cercano a Center: genera valores de etiqueta para todos los puntos de datos asignados a un clúster, usando la etiqueta del punto más cercano al centro del clúster.

      • Omitir columna de etiqueta: Seleccione esta opción si no desea realizar ninguna de las operaciones anteriores.

  4. En el módulo de agrupación en clústeres de barrido , use la opción para métricas de resultado de la agrupación en clústeres, a fin de especificar el método matemático que se va a usar al estimar el ajuste del modelo de agrupación en clústeres entrenado:

    • Silueta simplificada: esta métrica captura la precisión de los puntos de datos dentro de cada clúster. Se calcula como una combinación de la similitud de cada fila con su clúster y su similitud con el siguiente clúster más cercano. Si el clúster tiene solo 1 fila, en su lugar se calcula la distancia prorrateada al siguiente centroide más cercano, para evitar que se obtenga 0 como resultado. "Simplificado" hace referencia al hecho de que la distancia a centroide de clúster se usa como medida de similitud simple. En general, una mayor puntuación es mejor. El valor medio de un conjunto de datos indica el grado de agrupación de los datos. Si hay demasiados clústeres o demasiado pocos, algunos clústeres tendrán valores de silueta inferiores que el resto. Para obtener más información, consulte este artículo de Wikipedia.

    • Davies-Bouldin: esta métrica pretende identificar el conjunto más pequeño de clústeres con el menor dispersión. Dado que la métrica se define como la proporción de dispersión dentro de cada clúster en la separación de clústeres, un valor inferior significa que la agrupación en clústeres es mejor. El mejor modelo de agrupación en clústeres minimiza esta métrica. Para calcular la métrica de Davies-Bouldin, se calcula la media de la fila a la distancia centroide por clúster. Para cada par de clústeres, la suma de esas medias se divide por la distancia entre centroides. Se selecciona el valor máximo de todos los demás clústeres para cada clúster y se calcula el promedio de todos los clústeres. Para obtener más información, consulte este artículo de Wikipedia.

    • Dunn: esta métrica pretende identificar el conjunto más pequeño de los clústeres más compactos. Por lo general, un valor mayor para esta métrica indica una mejor agrupación en clústeres. Para calcular la métrica de Dunn, la distancia mínima de centroide a centroide se divide entre la distancia máxima de cada punto de datos y el centro de clústeres. Para obtener más información, consulte este artículo de Wikipedia.

    • Desviación media: esta métrica se calcula tomando la distancia media de cada punto de datos a su centro de clústeres. El valor disminuye a medida que aumenta el número de centroides; por lo tanto, no resulta útil al barrido para encontrar el número de centroides. Esta métrica se recomienda para su uso cuando se elige el mejor inicializador de inicialización de centroide.

  5. Especificar el modo de barrido de parámetros: Seleccione una opción que defina las combinaciones de valores que se usan al entrenar y cómo se eligen:

    • Cuadrícula completa: se prueban y evalúan todos los valores dentro del intervalo especificado. Esta opción suele ser más costosa.

    • Barrido aleatorio: Utilice esta opción para limitar el número de ejecuciones. El modelo de agrupación en clústeres se compila y se evalúa utilizando una combinación de valores elegidos aleatoriamente del intervalo permitido de valores de parámetro.

  6. Número máximo de ejecuciones en el barrido aleatorio: establezca esta opción si elige la opción de barrido aleatorio . Escriba un valor para limitar el número máximo de iteraciones al probar los conjuntos de parámetros elegidos aleatoriamente.

    Advertencia

    Los parámetros de iteraciones del módulo de agrupación en clústeres K-means tienen un propósito diferente y no se ven afectados por esta configuración: limita el número de pases por encima de los datos realizados para mejorar los clústeres, ya que reduce la distancia media de cada punto de datos a su centroides de clúster. Por el contrario, las iteraciones definidas por el parámetro del módulo de agrupación en clústeres de barrido se realizan con el fin de probar diferentes inicializaciones de centroide aleatorias. Se sabe que este problema de minimización es NP-Hard; por lo tanto, probar varias semillas aleatorias podría producir mejores resultados.

    Si selecciona un barrido aleatorio, use la opción de inicialización aleatoria para especificar los valores iniciales de inicialización aleatoria, en los que se va a empezar a crear el centroides. Una ventaja de usar un barrido de parámetros para crear un modelo de agrupación en clústeres es que puede probar fácilmente varios valores de inicialización para mitigar la sensibilidad conocida de los modelos de agrupación en clústeres al valor de inicialización inicial.

  7. Haga clic en conjunto de columnas y elija las columnas que se van a usar al compilar los clústeres. De forma predeterminada, todas las columnas de características se usan al compilar y probar el modelo de agrupación en clústeres.

    Puede incluir una columna de etiqueta, si está presente en el conjunto de DataSet. Si hay una etiqueta, puede usarla para guiar la selección de centroides, usar la etiqueta como una característica u omitir la etiqueta. Establezca estas opciones para el control de etiquetas del módulo de agrupación en clústeres Kmeans como se describe en el paso 3 anterior.

  8. Busque anexar o desactive solo el resultado: Use esta opción para controlar qué columnas se devuelven en los resultados.

    De forma predeterminada, el módulo devuelve las columnas originales del conjunto de elementos de entrenamiento junto con los resultados. Si anula la selección de esta opción. solo se devuelven las asignaciones de clúster.

  9. Agregue el módulo asignar datos a clústeres al experimento.

  10. Conecte la salida con la etiqueta modelo de mejor entrenamiento a la entrada de modelo entrenado de asignar datos a clústeres.

  11. Agregue el conjunto de datos previsto para la evaluación y conéctelo al puerto del conjunto de datos del módulo asignar datos a clústeres .

  12. Agregue el módulo Evaluate Model (evaluar modelo ) y conéctelo para asignar datos a los clústeres. Opcionalmente, puede conectar un conjunto de información de evaluación.

  13. Ejecute el experimento.

Results

El módulo de agrupación en clústeres de barrido genera tres resultados diferentes:

  • Mejor modelo entrenado. Un modelo entrenado que puede usar para puntuar y evaluar. Haga clic con el botón derecho y seleccione Guardar como modelo entrenado para capturar el modelo de agrupación en clústeres optimizado y usarlo para la puntuación.

  • Conjunto de resultados. Un conjunto de asignaciones de clúster, basado en el modelo optimizado.

    Nombre de la columna Descripción
    Assignments Este valor indica el clúster al que se ha asignado cada punto de datos. Los clústeres del modelo entrenado se etiquetan con índices basados en 0.
    DistancesToClusterCenter no. 1

    DistancesToClusterCenter n
    Este valor indica la proximidad del punto de datos al centro de cada clúster.

    Se crea una columna para cada clúster creado en el modelo optimizado.

    Puede restringir el número de clústeres mediante el número de opciones de centroides .

    De forma predeterminada, puede devolver las columnas del conjunto de resultados de entrenamiento junto con los resultados para facilitar la revisión e interpretación de las asignaciones de clúster.

  • Resultados de barrido. Un conjunto de elementos que contiene las siguientes métricas de evaluación para los clústeres:

    Nombre de la columna Descripción
    Métrica de clúster Valor que indica la calidad media del clúster para la ejecución. Las ejecuciones se ordenan por la mejor puntuación.
    Número de centroides El número de clústeres creados en esta iteración concreta del barrido
    Índice de ejecución Un identificador para cada iteración

    Sugerencia

    Los valores devueltos para la métrica del clúster deben interpretarse de manera diferente, en función de la métrica que haya elegido al configurar el barrido. En el caso de la métrica predeterminada, la silueta simplificada es mejor. En el caso de Davies-Bouldin, una puntuación inferior es mejor.

Ejemplos

Para ver ejemplos de un barrido de parámetros con agrupación en clústeres K-means, consulte la Azure AI Gallery:

Notas técnicas

Esta sección contiene sugerencias y detalles de la implementación.

Optimizar los modelos de agrupación en clústeres

La calidad y la precisión de los modelos de agrupación en clústeres se pueden ver muy afectadas por la elección de parámetros iniciales, como el número de centroides y el valor de inicialización usado para inicializar el clúster. Para mitigar esta sensibilidad a los parámetros iniciales, el módulo de agrupación en clústeres de barrido le ayuda a encontrar la mejor combinación de parámetros. Especifique un intervalo de parámetros para probar y el módulo compilará y probará automáticamente varios modelos y, por último, seleccionará el número óptimo de clústeres.

Para crear un barrido de parámetros, también debe configurar el módulo de agrupación en clústeres K-means para usar un barrido de parámetros. Puede especificar que el barrido recorra en iteración todas las combinaciones posibles de parámetros o use una combinación aleatoria de parámetros. También puede elegir una de varias métricas estándar para medir la precisión de centroides durante el proceso de creación y prueba de modelos iterativo. Una vez completado el número especificado de iteraciones, el módulo selecciona el mejor número de clústeres, en función de la métrica seleccionada, y genera informes que puede usar para evaluar los resultados.

Consejos de uso

  • En algunos casos, es posible que ya sepa cuántos clústeres espera encontrar. Por ejemplo, los datos podrían tener etiquetas de clase que podrían usarse en el GUID de la selección de centroides. En ese caso, puede configurar el módulo de agrupación en clústeres K-means para que use la columna etiqueta para guiar la selección del centroides inicial.

  • Si conoce algunos de los clústeres esperados pero no está seguro de cuántos clústeres son óptimos, establezca el número de centroides en un número mayor que el número de valores de etiqueta conocidos. El módulo de agrupación en clústeres de barrido crea clústeres para los puntos de datos conocidos y, a continuación, determina el número óptimo de clústeres adicionales para los puntos de datos restantes.

Controlar los valores que faltan en la columna de etiqueta

Hay varias maneras de administrar los valores que faltan en la columna de etiqueta. Por ejemplo, supongamos que tiene una tarea de clasificación de imágenes y solo se han etiquetado algunas de las imágenes.

Puede usar la columna etiqueta para guiar la selección del centroides, pero especificar que las etiquetas que faltan se rellenen con las asignaciones de clúster. En otras palabras, los valores de etiqueta existentes no cambian, pero se rellenan las etiquetas que faltan.

Como alternativa, para todos los puntos de datos asignados a un clúster, puede sobrescribir incluso las etiquetas existentes mediante una sola etiqueta que represente mejor el clúster. Para entender cómo es útil esta opción, Imagine que está usando datos de imagen con etiquetas muy detalladas, como diferentes razas de perros. Con esta opción, podría reemplazar todas las etiquetas detalladas por una sola etiqueta de categoría, "Dog".

Valores de inicialización en el registro

El archivo de registro generado por el módulo entrenar agrupación en clústeres aparece para indicar que se usa el mismo inicialización en todas las iteraciones del algoritmo de clústeres K-means, independientemente de la inicialización que se proporcionó en la propiedad de inicialización aleatoria .

De hecho, la implementación usa el SEED proporcionado por el usuario para generar una secuencia de números aleatorios que son diferentes para cada ejecución. Por lo tanto, solo se necesita un inicialización para crear todos los números generados de forma aleatoria.

La intención del registro es indicar qué inicialización usa el módulo cuando el usuario no especifica un SEED en el panel propiedades .

Entradas esperadas

Nombre Tipo Descripción
Modelo no entrenado Interfaz ICluster Modelo de agrupación en clústeres no entrenado
Dataset Tabla de datos Origen de datos de entrada

Parámetros del módulo

Nombre Tipo Valores Opcional Valor predeterminado Descripción
Métrica del resultado de la agrupación en clústeres Métrica de clúster Silueta simplificada, Davies-Bouldin, Dunn, desviación media Obligatorio Silueta simplificada Seleccionar la métrica utilizada para evaluar modelos de regresión
Especificar el modo de barrido de parámetros Métodos de barrido Cuadrícula completa o barrido aleatorio Obligatorio Barrido aleatorio Barrer la cuadrícula completa en el espacio de parámetros o barrer usando un número limitado de ejecuciones de ejemplo
Conjunto de columnas ColumnSelection Obligatorio Patrón de selección de columnas
Número máximo de ejecuciones en barrido aleatorio Entero [1;10000] Solo está disponible cuando SweepingMode está establecido en barrido aleatorio 5 Establecer el número máximo de ejecuciones que se ejecutan al usar el barrido aleatorio
Inicialización aleatoria Entero Solo está disponible cuando SweepingMode está establecido en barrido aleatorio 0 Proporcionar un valor para inicializar el generador de números aleatorios para el barrido aleatorio
Activar para anexar o desactivar solo para resultado Boolean Obligatorio True Seleccione esta acción para indicar que el conjunto de datos de salida debe contener el conjunto de datos de entrada con la columna de asignaciones anexada. Anule la selección para indicar que solo se debe generar la columna asignaciones.

Salidas

Nombre Tipo Descripción
Modelo mejor entrenado Interfaz ICluster Modelo de agrupación en clústeres entrenado
Conjunto de datos de resultados Tabla de datos Conjunto de datos de entrada anexado por columna de datos de asignaciones o solo columna de asignaciones
Resultados de barrido Tabla de datos Registro de métricas resultante para ejecuciones de barrido de clúster

Excepciones

Excepción Descripción
Error 0003 Se produce una excepción si una o varias de las entradas son NULL o están vacías.

Para obtener una lista de los errores específicos de los módulos de Studio (clásico), consulte Machine Learning de los códigos de error.

Para obtener una lista de excepciones de API, consulte códigos de error de la API de REST de machine learning.

Vea también

Agrupación en clústeres K-means
Asignación de datos a clústeres
Machine Learning/entrenar
Machine Learning / Inicializar modelo / Agrupación en clústeres