Crear una transformación de recuento

Crea una transformación que convierte las tablas de recuento en características, de modo que puede aplicar la transformación a varios conjuntos de valores.

Categoría: aprendizaje con recuentos

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 crear transformación de recuento en Azure machine learning Studio (clásico) para analizar los datos de entrenamiento. A partir de estos datos, el módulo genera una tabla de recuento , así como un conjunto de características basadas en recuentos 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 la información. La características basada en recuento es útil porque dichas características son más compactas que los datos de aprendizaje 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 reutilizarlo en los datos relacionados. También puede modificar el conjunto de características sin tener que generar un nuevo conjunto de recuentos, ni fusionar mediante combinación los recuentos y las características con otro conjunto de recuentos y características.

La capacidad de volver a usar y volver a aplicar las características basadas en recuentos es útil en escenarios como los siguientes:

  • Hay nuevos datos disponibles para mejorar la cobertura o el equilibrio del conjunto de datos.
  • Sus recuentos y características originales se basaban en un conjunto de DataSet muy grande que no desea volver a procesar. Mediante la combinación de los recuentos que se pueden actualizar con nuevos datos.
  • Desea asegurarse de que el mismo conjunto de características basadas en recuentos se aplica a todos los conjuntos de elementos 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 información 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.

Crear características basadas en recuentos a partir de un conjunto de elementos

  1. En Azure Machine Learning Studio (clásico), agregue el módulo crear transformación de recuento al experimento. Puede encontrar el módulo en transformación de datos, en la categoría aprendizaje con recuentos.

  2. Conecte el conjunto de elementos que desea usar como base para nuestras características basadas en recuentos.

  3. Use la opción 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 que es 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 la etiqueta de clase no son secuenciales, debe usar editar metadatos para especificar que la columna contiene valores de categorías.
  4. En la opción, los bits de la función hash, indican cuántos bits se deben usar al aplicar el algoritmo hash a los valores.

    Por lo general, es seguro aceptar los valores predeterminados, a menos que sepa que hay muchos valores para contar y que se necesite un recuento de bits más alto.

  5. En el valor de inicialización de la función hash, opcionalmente puede especificar un valor para inicializar la función hash. Normalmente, la configuración de un valor de inicialización se realiza 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 datos que se guardan como un conjunto de datos en Azure machine learning Studio (clásico).

    • BLOB: elija esta opción si los datos de origen utilizados para generar recuentos se almacenan como un BLOB en bloques en el almacenamiento de Windows Azure.

    • MapReduce: elija esta opción si desea llamar a funciones de asignación/reducción para procesar los datos.

      Para usar esta opción, los nuevos datos se deben proporcionar como un BLOB en el almacenamiento de Windows Azure 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 valores de gran tamaño, 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 más información, consulte https://azure.microsoft.com/services/hdinsight/.

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

    • Si usa datos de Hadoop o almacenamiento de blobs, proporcione la ubicación del clúster y las credenciales.
    • Si anteriormente usó un módulo importar datos en el experimento para tener acceso a los datos, debe volver a escribir el nombre de la cuenta y sus credenciales. El módulo crear transformación de recuento tiene acceso al almacenamiento de datos por separado para leer los datos y crear 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 seleccionar las columnas para las que se van a generar recuentos.

    En general, los mejores candidatos son columnas de gran dimensionalidad, junto con otras columnas que están correlacionadas con esas columnas.

  10. Utilice la opción tipo de tabla de recuento para especificar el formato utilizado para almacenar la tabla de recuento.

    • 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 CMSketch para conjuntos de datos de mayor tamaño.

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

    • CMSketch: crea una tabla de esbozo 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 el tamaño de bit hash y el valor de inicialización hash no tienen ningún efecto en esta opción.

  11. Ejecute el experimento.

    El módulo crea una transformación características que puede usar como entrada para el módulo aplicar transformación . La salida del módulo aplicar transformación es un conjunto de resultados 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 recuentos con otro conjunto de características basadas en recuentos. Para obtener más información, vea Merge Count Transform.

Combinar recuentos y características de varios conjuntos de elementos

  1. En Azure Machine Learning Studio (clásico), agregue el módulo crear transformación de recuento 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 orígenes diferentes.

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

    • BLOB: elija esta opción si los nuevos datos se proporcionan como un BLOB en bloques en el almacenamiento de Windows Azure.

    • MapReduce: elija esta opción si desea llamar a funciones de asignación/reducción para procesar los datos.

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

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

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

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

    • Si anteriormente usó un módulo importar datos en el experimento para tener acceso a los datos, debe volver a escribir el nombre de la cuenta y sus credenciales. El motivo es que el módulo crear transformación de recuento tiene acceso al almacenamiento de datos por separado para leer los datos y crear las tablas necesarias.

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

    • 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. Utilice la opción tipo de tabla de recuento 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 recuento anterior con el formato de Diccionario , no podrá combinarla con los recuentos guardados con el formato CMSketch .

  6. Ejecute el experimento.

    El módulo crea una transformación características que puede usar como entrada para el módulo aplicar transformación . La salida del módulo aplicar transformación es un conjunto de resultados 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 Merge Count Transform.

Ejemplos

Vea estos artículos para obtener más información sobre el algoritmo de recuentos y la eficacia de los modelos basados en recuentos en comparación con otros métodos.

Los siguientes experimentos del Azure AI Gallery demuestran cómo usar el aprendizaje basado en recuento 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 inicialización de la función hash.
Tipo de módulo Obligatorio Dataset El tipo de módulo que se va a usar al generar la tabla de recuento.
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 Los índices de base uno de los grupos de columnas para realizar el recuento.
Columna de etiqueta Entero >=1 Obligatorio 1 Índice de base uno de la columna de etiqueta.
Formato de blob cualquiera Obligatorio CSV El formato de archivo de texto del blob.

Los siguientes parámetros 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 El nombre de la cuenta de almacenamiento que contiene el BLOB de entrada.
Clave de la cuenta de almacenamiento predeterminada SecureString cualquiera Obligatorio ninguno La 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 en el que se va a escribir la tabla de recuento.
URI del clúster String cualquiera Obligatorio ninguno El URI para el 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 de recuento:

Nombre Tipo Intervalo Opcional Valor predeterminado Descripción
Tipo de tabla de recuento CountTableType List Obligatorio Diccionario Tipo de la tabla de recuento.
Nombre o índice de columna de etiqueta ColumnSelection Obligatorio si la tabla de recuento se guarda como conjunto de ninguno Seleccione la columna etiqueta.
Seleccione las columnas para el recuento ColumnSelection Obligatorio si la tabla de recuento se guarda como conjunto de Seleccione las columnas del recuento. Estas columnas se consideran características de categorías.
Profundidad de la tabla de resumen de recuento mínimo Entero >=1 Requerido si la tabla de recuento usa el formato CMSketch 4 La profundidad de la tabla de esbozo de CM, que es igual al número de funciones hash.
Ancho de tabla de resumen de recuento mínimo Entero [1;31] Requerido si la tabla de recuento usa el formato CMSketch 20 El ancho de la tabla de esbozo de CM, que es el número de bits del intervalo de la función hash.
Columna de etiqueta index o NameColumn ColumnSelection Obligatorio si la tabla de recuento se guarda como conjunto de Selecciona la columna de etiqueta.
Seleccione las columnas para el recuento ColumnSelection Obligatorio si la tabla de recuento se guarda como conjunto de Selecciona las columnas para el recuento. Estas columnas se consideran características de categorías.
Tipo de tabla de recuento Obligatorio si la tabla de recuento se guarda como conjunto de Diccionario Especifica el tipo de tabla de recuento.
Profundidad de la tabla de resumen de recuento mínimo Entero >=1 Obligatorio si la tabla de recuento se guarda como CMSketch 4 Profundidad de la tabla de esbozo 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 de recuento se guarda como CMSketch 20 El ancho de tabla del boceto de CM, que es el número de bits del intervalo de la función hash.

Salidas

Nombre Tipo Descripción
Recuento de transformación Interfaz ITransform La 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 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.

Consulte también

Aprendizaje con recuentos