Compartir a través de


Crear una transformación de recuento

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.

Crea una transformación que convierte las tablas de recuento en características para que pueda aplicar la transformación a varios conjuntos de datos.

Categoría: Learning con recuentos

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 Build Counting Transform en Machine Learning Studio (clásico) para analizar los datos de entrenamiento. A partir de estos datos, el módulo crea una tabla de recuento, así como un conjunto de características basadas en recuento que se pueden usar en un modelo predictivo.

Una tabla de recuento contiene la distribución conjunta de todas las columnas de características, dada una columna de etiqueta especificada. Estas estadísticas son útiles para determinar qué columnas tienen el mayor valor de información. La caracterización basada en recuento es útil porque estas características son más compactas que los datos de entrenamiento originales, pero capturan toda la información más útil. Puede usar los parámetros del módulo para personalizar cómo se transforman los recuentos en el nuevo conjunto de características basadas en recuentos.

Después de generar recuentos y transformarlos en características, puede guardar el proceso como una transformación para volver a usarlo en los datos relacionados. También puede modificar el conjunto de características sin tener que generar un nuevo conjunto de recuentos o combinar los recuentos y características con otro conjunto de recuentos y características.

La capacidad de volver a usar y volver a aplicar características basadas en recuento es útil en escenarios como estos:

  • Los nuevos datos están disponibles para mejorar la cobertura o el equilibrio del conjunto de datos.
  • Los recuentos y características originales se basaron en un conjunto de datos muy grande que no desea volver a procesar. Combinando los recuentos que puede actualizar con datos nuevos.
  • Quiere asegurarse de que se aplica el mismo conjunto de características basadas en recuento a todos los conjuntos de datos que se usan en el experimento.

Cómo configurar la transformación de recuento de compilaciones

Puede crear una transformación de características basada en recuento directamente desde un conjunto de datos y volver a ejecutarla cada vez que ejecute un experimento. O bien, puede generar un conjunto de recuentos y, a continuación, combinarlo con nuevos datos para crear una tabla de recuento actualizada.

Creación de características basadas en recuentos a partir de un conjunto de datos

  1. En Machine Learning Studio (clásico), agregue el módulo Build Counting Transform (Transformación de recuento de compilaciones) al experimento. Puede encontrar el módulo en Transformación de datos, en la categoría Learning con recuentos.

  2. Conectar conjunto de datos que desea usar como base para nuestras características basadas en recuento.

  3. Use la opción Number of classes (Número de clases) para especificar el número de valores de la columna de etiqueta.

    • Para cualquier problema de clasificación binaria, escriba 2.
    • Si se trata de un problema de clasificación con más de dos posibles resultados, debe especificar de antemano el número exacto de clases que se contarán. Si escribe un número menor que el número real de clases, el módulo devolverá un error.
    • Si el conjunto de datos contiene varios valores de clase y los valores de etiqueta de clase no son secuenciales, debe usar Editar metadatos para especificar que la columna contiene valores categóricos.
  4. Para la opción , los bits de la función hash, indican cuántos bits se deben usar al hash de los valores.

    Por lo general, es seguro aceptar los valores predeterminados, a menos que sepa que hay muchos valores para contar y que podría ser necesario un número de bits mayor.

  5. En La ed de la función hash, opcionalmente puede especificar un valor para seed the hashing function. El establecimiento manual de un valor de ed se realiza normalmente cuando se desea asegurarse de que los resultados de hash son deterministas en las ejecuciones del mismo experimento.

  6. Use la opción Tipo de módulo para indicar el tipo de datos que va a contar, en función del modo de almacenamiento:

    • Conjunto de datos: elija esta opción si va a contar los datos que se guardan como un conjunto de datos en Machine Learning Studio (clásico).

    • Blob: elija esta opción si los datos de origen usados para compilar recuentos se almacenan como un blob en bloques Windows Azure Storage.

    • MapReduce: elija esta opción si desea llamar a las funciones Map/Reduce para procesar los datos.

      Para usar esta opción, los nuevos datos deben proporcionarse como un blob en Windows Azure Storage y debe tener acceso a un clúster de HDInsight implementado. Al ejecutar el experimento, se inicia un trabajo de asignación/reducción en el clúster para realizar el recuento.

      En el caso de conjuntos de datos muy grandes, se recomienda usar esta opción siempre que sea posible. Aunque el uso del servicio HDInsight podría suponer costes adicionales, el cálculo de grandes conjuntos de datos puede ser más rápido en HDInsight.

      Para obtener más información, vea https://azure.microsoft.com/services/hdinsight/.

  7. Después de especificar el modo de almacenamiento de datos, proporcione cualquier información de conexión adicional para los datos necesarios:

    • Si usa datos de Hadoop o Blob Storage, proporcione la ubicación y las credenciales del clúster.
    • Si anteriormente usó un módulo Importar datos en el experimento para acceder a los datos, debe volver a escribir el nombre de la cuenta y sus credenciales. El módulo Build Counting Transform accede al almacenamiento de datos por separado para leer los datos y compilar las tablas necesarias.
  8. En Columna de etiqueta o índice, seleccione una columna como columna de etiqueta.

    Se requiere una columna de etiqueta. La columna ya debe estar marcada como etiqueta o se produce un error.

  9. Use la opción Seleccionar columnas para contar y seleccione las columnas para las que generar recuentos.

    En general, los mejores candidatos son las columnas de alta dimensionalidad, junto con cualquier otra columna que se correlaciona con esas columnas.

  10. Use la opción Count table type (Tipo de tabla count) para especificar el formato usado para almacenar la tabla count.

    • Diccionario: crea una tabla de recuento de diccionarios. Todos los valores de columna de las columnas seleccionadas se tratan como cadenas y se les aplica un algoritmo hash mediante una matriz de bits de 31 bits de tamaño. Por tanto, todos los valores de columna se representan con un entero de 32 bits no negativo.

      En general, debe usar esta opción para conjuntos de datos más pequeños (menos de 1 GB) y usar la opción CMTch para conjuntos de datos más grandes.

      Después de seleccionar esta opción, configure el número de bits usados por la función hash y establezca un valor de inicialización para inicializar la función hash.

    • CMTch: crea una tabla de bocetos mínima de recuento. Con esta opción, se utilizan varias funciones hash independientes con un intervalo más pequeño para mejorar la eficacia de la memoria y reducir la posibilidad de colisiones de hash. Los parámetros para hashing bit size and hashing seed have no effect on this option (Los parámetros para hashing bit size and hashing seed no tienen ningún efecto en esta opción).

  11. Ejecute el experimento.

    El módulo crea una transformación de caracterización que puede usar como entrada para el módulo Aplicar transformación. La salida del módulo Aplicar transformación es un conjunto de datos transformado que se puede usar para entrenar un modelo.

    Opcionalmente, puede guardar la transformación si desea combinar el conjunto de características basadas en recuento con otro conjunto de características basadas en recuento. Para obtener más información, vea Merge Count Transform.

Combinación de recuentos y características de varios conjuntos de datos

  1. En Machine Learning Studio (clásico), agregue el módulo Build Counting Transform (Transformación de recuento de compilaciones) al experimento y conecte el conjunto de datos que contiene los nuevos datos que desea agregar.

  2. Use la opción Tipo de módulo para indicar el origen de los nuevos datos. Puede combinar datos de distintos orígenes.

    • Conjunto de datos: elija esta opción si los nuevos datos se proporcionan como un conjunto de datos en Machine Learning Studio (clásico).

    • Blob: elija esta opción si los nuevos datos se proporcionan como blob en bloques Windows Azure Storage.

    • MapReduce: elija esta opción si desea llamar a las funciones Map/Reduce para procesar los datos.

      Para usar esta opción, los nuevos datos deben proporcionarse como un blob en Windows Azure Storage y debe tener acceso a un clúster de HDInsight implementado. Al ejecutar el experimento, se inicia un trabajo de asignación o reducción en el clúster para realizar el recuento.

      Para obtener más información, vea https://azure.microsoft.com/services/hdinsight/.

  3. Después de especificar el modo de almacenamiento de datos, proporcione cualquier información de conexión adicional para los nuevos datos:

    • Si usa datos de Hadoop o Blob Storage, proporcione la ubicación y las credenciales del clúster.

    • Si anteriormente usó un módulo Importar datos en el experimento para acceder a los datos, debe volver a escribir el nombre de la cuenta y sus credenciales. El motivo es que el módulo Build Counting Transform accede al almacenamiento de datos por separado para leer los datos y compilar las tablas necesarias.

  4. Al combinar recuentos, las siguientes opciones deben ser exactamente las mismas en ambas tablas de recuentos:

    • Número de clases
    • Los bits de la función hash
    • El valor de inicialización de la función hash
    • Seleccione las columnas para el recuento

    La columna de etiqueta puede ser diferente, siempre que contenga el mismo número de clases.

  5. Use la opción Count table type ( Tipo de tabla count) para especificar el formato y el destino de la tabla de recuento actualizada.

    Sugerencia

    El formato de las dos tablas de recuento que desea combinar debe ser el mismo. En otras palabras, si guardó una tabla de recuentos anterior con el formato Diccionario , no podrá combinarla con recuentos guardados con el formato CMTch .

  6. Ejecute el experimento.

    El módulo crea una transformación de caracterización que puede usar como entrada para el módulo Aplicar transformación. La salida del módulo Aplicar transformación es un conjunto de datos transformado que se puede usar para entrenar un modelo.

  7. Para combinar este conjunto de recuentos con un conjunto existente de características basadas en recuentos, vea Transformación De recuento de mezcla.

Ejemplos

Consulte estos artículos para obtener más información sobre el algoritmo de recuentos y la eficacia del modelado basado en recuentos en comparación con otros métodos.

Los siguientes experimentos de la Azure AI Gallery muestran cómo usar el aprendizaje basado en recuentos para crear varios modelos predictivos:

Parámetros del módulo

Los parámetros siguientes se usan con todas las opciones:

Nombre Tipo Intervalo Opcional Valor predeterminado Descripción
Número de clases Entero >=2 Obligatorio 2 El número de clases de la etiqueta.
Los bits de la función hash Entero [12;31] Obligatorio 20 Número de bits del intervalo de la función hash.
El valor de inicialización de la función hash Entero cualquiera Obligatorio 1 Valor de ed.ed para la función hash.
Tipo de módulo Obligatorio Dataset Tipo de módulo que se usará al generar la tabla count.
Tipo de tabla de recuento CountTableType seleccionar de la lista Obligatorio Diccionario Especifique el formato de la tabla de recuento.

Las siguientes opciones se aplican al seleccionar la opción blob .

Nombre Tipo Intervalo Opcional Valor predeterminado Descripción
Nombre de blob String cualquiera Obligatorio Nombre del blob de entrada. No incluya el nombre del contenedor.
Nombre de la cuenta String cualquiera Obligatorio El nombre de la cuenta de almacenamiento.
Clave de cuenta SecureString cualquiera Obligatorio La clave de la cuenta de almacenamiento.
Nombre del contenedor String cualquiera Obligatorio Contenedor de blobs de Azure que contiene el blob de entrada.
Columnas de recuento String cualquiera Obligatorio Índices basados en uno de grupos de columnas para realizar el recuento.
Columna de etiqueta Entero >=1 Obligatorio 1 Índice basado en uno de la columna de etiqueta.
Formato de blob cualquiera Obligatorio CSV El formato de archivo de texto del blob.

Los parámetros siguientes se aplican al usar MapReduce para generar recuentos:

Nombre Tipo Intervalo Opcional Valor predeterminado Descripción
Nombre de la cuenta de almacenamiento predeterminada String cualquiera Obligatorio ninguno Nombre de la cuenta de almacenamiento que contiene el blob de entrada.
Clave de la cuenta de almacenamiento predeterminada SecureString cualquiera Obligatorio ninguno Clave de la cuenta de almacenamiento que contiene el blob de entrada.
Nombre del contenedor predeterminado String cualquiera Obligatorio ninguno Nombre del contenedor de blobs que se escribirá en la tabla count.
URI del clúster String cualquiera Obligatorio ninguno Uri del clúster de Hadoop de HDInsight.
Nombre de usuario String cualquiera Obligatorio ninguno El nombre de usuario para iniciar sesión en el clúster de Hadoop de HDInsight.

Los parámetros siguientes definen el formato de la tabla count:

Nombre Tipo Intervalo Opcional Valor predeterminado Descripción
Tipo de tabla de recuento CountTableType Lista Obligatorio Diccionario Tipo de la tabla count.
Nombre o índice de columna de etiqueta ColumnSelection Obligatorio si la tabla count se guarda como conjunto de datos ninguno Seleccione la columna de etiqueta.
Seleccione las columnas para el recuento ColumnSelection Obligatorio si la tabla count se guarda como conjunto de datos Seleccione las columnas del recuento. Estas columnas se consideran características categóricas.
Profundidad de la tabla de resumen de recuento mínimo Entero >=1 Obligatorio si la tabla count usa el formato CMTch 4 Profundidad de la tabla de bocetos de CM, que es igual al número de funciones hash.
Ancho de tabla de resumen de recuento mínimo Entero [1;31] Obligatorio si la tabla count usa el formato CMTch 20 Ancho de la tabla de bocetos de CM, que es el número de bits del intervalo de la función hash.
Índice de columna de etiqueta o namecolumn ColumnSelection Obligatorio si la tabla count se guarda como conjunto de datos Selecciona la columna de etiqueta.
Seleccione las columnas para el recuento ColumnSelection Obligatorio si la tabla count se guarda como conjunto de datos Selecciona las columnas para el recuento. Estas columnas se consideran características categóricas.
Tipo de tabla de recuento Obligatorio si la tabla count se guarda como conjunto de datos Diccionario Especifica el tipo de la tabla count.
Profundidad de la tabla de resumen de recuento mínimo Entero >=1 Obligatorio si la tabla count se guardó como CMTch 4 Profundidad de la tabla de bocetos de CM, que es igual al número de funciones hash.
Ancho de tabla de resumen de recuento mínimo Entero [1;31] Obligatorio si la tabla count se guardó como CMTch 20 Ancho de tabla de bocetos de CM, que es el número de bits del intervalo de la función hash.

Salidas

Nombre Tipo Descripción
Transformación de recuento Interfaz ITransform Transformación de recuento.

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.
Error 0004 Se produce una excepción si el parámetro es menor o igual que el valor especificado.
Error 0005 Se produce una excepción si el parámetro es menor que el valor especificado.
Error 0007 Se produce una excepción si el parámetro es mayor que el valor especificado.
Error 0009 Se produce una excepción si el nombre del contenedor o el nombre de la cuenta de almacenamiento de Azure se ha especificado incorrectamente.
Error 0065 Se produce una excepción si se especifica incorrectamente el nombre del blob de Azure.
Error 0011 Se produce una excepción si el argumento que se pasó al conjunto de columnas no se aplica a alguna de las columnas del conjunto de datos.
Error 0049 Se produce una excepción cuando no es posible analizar un archivo.
Error 1000 Excepción interna de biblioteca.
Error 0059 Se produce una excepción si no se puede analizar el índice de columna especificado en un selector de columna.
Error 0060 Se produce una excepción cuando se especifica un intervalo de columnas fuera del intervalo en un selector de columnas.
Error 0089 Se produce una excepción cuando el número de clases especificado es menor que el número real de clases en el conjunto de datos utilizado para el recuento.

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

Aprendizaje con recuentos