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.
- Consulte la información acerca de traslado de proyectos de aprendizaje automático de ML Studio (clásico) a Azure Machine Learning.
- Más información sobre Azure Machine Learning.
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
Comience aquí si no ha creado recuentos antes. Use el módulo Build Counting Transform para crear tablas de recuento y generar automáticamente un conjunto de características.
Este proceso crea una transformación de características que se puede aplicar a un conjunto de datos mediante el módulo Aplicar transformación.
Combinación de recuentos y características de varios conjuntos de datos
Si ya ha generado una tabla de recuento a partir de un conjunto de datos anterior, genere recuentos solo en los nuevos datos o importe una tabla de recuento existente creada en una versión anterior de Machine Learning. A continuación, combine los dos conjuntos de tablas de recuento.
Este proceso crea una nueva transformación de características que puede aplicar a un conjunto de datos mediante el módulo Aplicar transformación.
Creación de características basadas en recuentos a partir de un conjunto de datos
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.
Conectar conjunto de datos que desea usar como base para nuestras características basadas en recuento.
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.
- Para cualquier problema de clasificación binaria, escriba
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.
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.
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/.
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.
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.
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.
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).
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
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.
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/.
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.
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.
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 .
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.
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:
- Learning con recuentos: clasificación binaria
- Learning con recuentos: clasificación multiclase con datos de taxis de Nueva York
- Learning con recuentos: clasificación binaria con datos de taxis de Nueva York
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.