Compartir a través de


Agrupación en clústeres de barrido

Importante

El soporte técnico de Machine Learning Studio (clásico) finalizará el 31 de agosto de 2024. Se recomienda realizar la transición a Azure Machine Learning antes de esa fecha.

A partir del 1 de diciembre de 2021 no se podrán crear recursos de Machine Learning Studio (clásico). Hasta el 31 de agosto de 2024, puede seguir usando los recursos de Machine Learning Studio (clásico) existentes.

La documentación de ML Studio (clásico) se está retirando y es posible que no se actualice en el futuro.

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:

Solo se aplica a: Machine Learning Studio (clásico)

Hay módulos para arrastrar y colocar similares en el diseñador de Azure Machine Learning.

Información general sobre el módulo

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

El módulo Sweep Clustering (Agrupación en clústeres de barrido) está diseñado específicamente para los modelos de agrupación en clústeres. Se 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 especifique, creando 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 con esa configuración.

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

Configuración de la agrupación en clústeres de barrido

  1. Agregue el módulo Sweep Clustering (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 datos de entrenamiento al experimento y conéctelos al módulo Sweep Clustering (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 Create trainer mode (Crear modo de instructor ) en Parameter Range (Intervalo de parámetros).

    2. Use el Generador de intervalos (o escriba manualmente varios valores) para cada parámetro para establecer el intervalo de valores en iteración.

    3. Inicialización para barrido: especifique cómo debe encontrar el algoritmo K-means los centroides iniciales del clúster. Se proporcionan varios algoritmos para inicializar y probar centroides aleatoriamente.

      Si el conjunto de datos de entrenamiento contiene una columna de etiqueta, incluso con valores parciales, puede usar esos valores para los 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, intente usar Editar metadatos para identificar la columna que contiene etiquetas.

    4. Number of seeds to sweep (Número de valores de las que se va a realizar el barrido): indique el número de valores iniciales aleatorios diferentes que 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, vea el tema 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 de los centroides de 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 en función del clúster al que está asignado el punto de datos.

      • Sobrescribir desde el punto más cercano al centro: genera valores de etiqueta para todos los puntos de datos asignados a un clúster, utilizando 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 Sweep Clustering (Agrupación en clústeres de barrido), use la opción Para métrica para medir el resultado de la agrupación en clústeres para especificar el método matemático que se va a usar al calcular el ajuste del modelo de agrupación en clústeres entrenado:

    • Simplificación simplificada: esta métrica captura la tensió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, se calcula en su lugar la distancia prorrateada al centroide más cercano, para evitar obtener 0 como resultado. "Simplificado" hace referencia al hecho de que la distancia al centroide del clúster se usa como una medida de similitud simple. En general, una puntuación más alta es mejor. El valor medio sobre el conjunto de datos indica lo bien que se han agrupado los datos. Si hay demasiados clústeres o demasiados pocos, algunos clústeres tendrán valores más bajos que el resto. Para más información, consulte este artículo de Wikipedia.

    • Dax-Bouldin: esta métrica pretende identificar el conjunto más pequeño de clústeres con la menor dispersión. Dado que la métrica se define como una proporción de dispersión dentro de cada clúster sobre la separación del clúster, 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 Davies-Bouldin métrica, la distancia media de fila a centroide se calcula por clúster. Para cada par de clústeres, la suma de esos promedios se divide por la distancia entre centroides. El valor máximo de todos los demás clústeres se selecciona para cada clúster y se promedia en todos los clústeres. Para más información, consulte este artículo de Wikipedia.

    • Dunn: esta métrica pretende identificar el conjunto más pequeño de 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 Dunn, la distancia mínima entre centroide y centroide se divide por la distancia máxima de cada punto de datos a su centro de clúster. Para más información, consulte este artículo de Wikipedia.

    • Desviación media: esta métrica se calcula tomando la distancia media desde cada punto de datos hasta su centro de clúster. El valor disminuye a medida que aumenta el número de centroides; por lo tanto, no es útil al barrido encontrar el número de centroides. Esta métrica se recomienda para su uso cuando se elige el mejor valor 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 del intervalo especificado. Esta opción suele ser más costosa computacionalmente.

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

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

    Advertencia

    Los parámetros 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 sobre los datos realizados para mejorar los clústeres, minimizando la distancia media desde cada punto de datos a sus centroides de clúster. En cambio, las iteraciones definidas por el parámetro del módulo Sweep Clustering se realizan con el fin de probar inicializaciones de centroide aleatorias diferentes. Se sabe que este problema de minimización es np-hard; por lo tanto, probar varias variedades aleatorias podría producir mejores resultados.

    Si selecciona un barrido aleatorio, use la opción Inicialización aleatoria para especificar los valores de inicialización aleatorios iniciales en los que empezar a crear los 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 usarán 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 datos. Si hay una etiqueta, puede usarla para guiar la selección de centroides, usar la etiqueta como característica o omitirla. Establezca estas opciones para el control de etiquetas del módulo Agrupación en clústeres de Kmeans , tal como se describe en el paso 3 anterior.

  8. Buscar Anexar o Desactivar solo resultados: 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 datos 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. Conectar la salida con la etiqueta Best Trained Model (Mejor modelo entrenado) en la entrada Trained Model (Modelo entrenado) de Assign Data to Clusters (Asignar datos a clústeres).

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

  12. Agregue el módulo Evaluate Model (Evaluar modelo) y conéctelo a Assign Data to Clusters (Asignar datos a clústeres). Opcionalmente, puede conectar un conjunto de datos de evaluación.

  13. Ejecute el experimento.

Results

El módulo Sweep Clustering (Agrupación en clústeres de barrido) genera tres resultados diferentes:

  • Mejor modelo entrenado. Modelo entrenado que puede usar para puntuación y evaluación. 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 datos de resultados. Conjunto de asignaciones de clúster, basadas 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 no.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 la opción Number of centroids (Número de centroides ).

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

  • Resultados del barrido. Conjunto de datos que contiene las siguientes métricas de evaluación para los clústeres:

    Nombre de la columna Descripción
    Métrica del clúster Valor que indica la calidad media del clúster para esa ejecución. Las ejecuciones se ordenan por la mejor puntuación.
    Número de centroides Número de clústeres que se crearon 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 forma diferente, en función de la métrica que haya elegido al configurar el barrido. En el caso de la métrica predeterminada, Simplificación simplificada, una puntuación más alta es mejor. Para Dave-Bouldin, una puntuación más baja es mejor.

Ejemplos

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

Notas técnicas

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

Optimización de modelos de agrupación en clústeres

La calidad y la precisión de los modelos de agrupación en clústeres pueden verse 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 Barrido de clústeres le ayuda a encontrar la mejor combinación de parámetros. Especifique un intervalo de parámetros para probar y el módulo compila y prueba automáticamente varios modelos y, por último, selecciona 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 itera todas las combinaciones posibles de parámetros, o bien use una combinación aleatoria de parámetros. También puede elegir una de las varias métricas estándar para medir la precisión de los centroides durante el proceso de creación y prueba del modelo 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 pueden tener etiquetas de clase que podrían usarse para guiar la selección de los centroides. En ese caso, puede configurar el módulo de agrupación en clústeres K-Means para usar la columna de etiqueta para guiar la selección de los centroides iniciales.

  • 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 que sea mayor que el número de valores de etiqueta conocidos. El módulo Barrido de clústeres 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.

Control de los valores que faltan en la columna de etiqueta

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

Puede usar la columna de etiqueta para guiar la selección de los centroides, pero especificar que las etiquetas que faltan se rellenan mediante las asignaciones de clúster. En otras palabras, los valores de etiqueta existentes no se 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, con una sola etiqueta que represente mejor el clúster. Para entender cómo resulta útil esta opción, imagine que usa datos de imagen con etiquetas muy detalladas, como diferentes perros. Con esta opción, puede reemplazar todas las etiquetas detalladas por una sola etiqueta de categoría, "dog".

Valores de ed en el registro

El archivo de registro generado por el módulo Train Clustering Model (Entrenar modelo de agrupación en clústeres) parece indicar que se usa el mismo valor de ed. para todas las iteraciones del algoritmo de agrupación en clústeres K-means, independientemente del valor de ed.ed proporcionado en la propiedad Random Seed .

De hecho, la implementación usa el valor de ed.ed 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 valor de ed. para crear todos los números generados aleatoriamente.

La intención del registro es indicar qué valor de ed. el módulo usa cuando el usuario no especifica un valor de ed 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 para medir el resultado de la agrupación en clústeres Métrica del clúster Simplified Deviation, Dave-Bouldin, Dunn, Average Deviation Obligatorio Simplificación de la simplificación 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 ejecutarán al usar barrido aleatorio
Inicialización aleatoria Entero Solo está disponible cuando SweepingMode está establecido en Barrido aleatorio. 0 Proporcione un valor para seed the random number generator for random sweep (Proporcionar un valor para seed the random number generator for random sweep)
Activar para anexar o desactivar solo para resultado Boolean Obligatorio True Seleccione esta opción para indicar que el conjunto de datos de salida debe contener un conjunto de datos de entrada con la columna de asignaciones anexada. Anule la selección para indicar que solo se debe generar la columna de asignaciones.

Salidas

Nombre Tipo Descripción
Mejor modelo 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 errores específicos de los módulos de Studio (clásico), consulte Machine Learning códigos de error.

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

Consulte también

Agrupación en clústeres K-Means
Assign Data to Clusters (asignar datos a los clústeres)
Machine Learning/Train
Machine Learning / Inicializar modelo / Agrupación en clústeres