Compartir a través de


Agrupación de datos en intervalos

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.

Coloca datos numéricos en cubos.

Categoría: Escalado y reducción

Nota

Se aplica a: solo 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 Agrupar datos en contenedores en Machine Learning Studio (clásico), para agrupar números o cambiar la distribución de datos continuos.

El módulo agrupar datos en ubicaciones admite varias opciones para la cuantificación de datos. Puede personalizar el establecimiento de los extremo del intervalo y cómo se reparten los valores en ellos. Por ejemplo, puede:

  • Escriba manualmente una serie de valores que sirvan como límites de la ubicación.
  • Calcule las puntuaciones de entropía para determinar los valores de información de cada intervalo, para optimizar los contenedores en el modelo predictivo. + Asignar valores a contenedores mediante cuantiles o clasificaciones de percentil.
  • Controlar el número de valores de cada contenedor también se puede controlar.
  • Forzar una distribución uniforme de valores en las ubicaciones.

Más información sobre cuantificación y agrupación

La discretización o agrupación de datos (a veces denominada cuantificación) es una herramienta importante para preparar datos numéricos para el aprendizaje automático y es útil en escenarios como estos:

  • Una columna de números continuos tiene demasiados valores únicos para modelar de forma eficaz, de modo que los valores se asignan de forma automática o manual a los grupos, con el fin de crear un conjunto más pequeño de rangos discretos.

    Por ejemplo, podría usar puntuaciones de entropía generadas por datos de grupo en contenedores para identificar las agrupaciones óptimas de valores de datos y usar esos grupos como características en el modelo.

  • Reemplace una columna de números por valores de categorías que representen rangos específicos.

    Por ejemplo, puede que desee agrupar los valores de una columna de edad especificando rangos personalizados, como 1-15, 16-22, 23-30, etc., para los datos demográficos de los usuarios.

  • Un conjunto de datos tiene algunos valores extremos, todos ellos fuera del rango esperado, y estos valores tienen una influencia insuficiente en el modelo entrenado. Para mitigar el sesgo en el modelo, puede transformar los datos en una distribución uniforme mediante el método cuantiles (o igual altura).

    Con este método, el módulo de agrupaciones de datos en contenedores determina las ubicaciones de contenedor y los anchos de contenedor ideales para asegurarse de que aproximadamente el mismo número de muestras se encuentran en cada contenedor. A continuación, según el método de normalización que elija, los valores de los contenedores se transforman en percentiles o se asignan a un número de contenedor.

Ejemplos de cuantificación

En el diagrama siguiente se muestra la distribución de los valores numéricos anteriores y posteriores a discretización con el método de cuantiles. Observe que, en comparación con los datos sin procesar de la izquierda, los datos se han cuantificado y transformado en una escala de unidad normal.

raw data and data binned and normalized

Otro enfoque para la discretización se muestra en la muestra de detección de cáncer de mama , en la que se usan datos de grupo en contenedores para asignar pacientes a varios grupos de control y pruebas, para garantizar que cada grupo tiene un número igual de pacientes.

Dado que hay muchas maneras de agrupar los datos, todos los que se pueden personalizar, se recomienda experimentar con distintos métodos y valores. La sección Ejemplos contiene vínculos a experimentos de ejemplo que muestran cómo usar los distintos algoritmos de discretización.

Configuración de datos de grupo en contenedores

  1. Agregue el módulo Agrupar datos en contenedores al experimento en Studio (clásico). Puede encontrar este módulo en la categoría Transformación de datos, en Escala y reducción.

  2. Conecte el conjunto de datos que contiene datos numéricos a contenedor. La cuantificación solo se puede aplicar a las columnas que contienen datos numéricos.

    Si el conjunto de datos contiene columnas no numéricas, use el módulo Seleccionar columnas del conjunto de datos para proyectar un subconjunto de columnas con el que trabajar.

  3. Especifique el modo cuantificación. El modo de discretización determina otros parámetros, así que asegúrese de seleccionar primero la opción Modo de discretización . Se admiten los siguientes tipos de cuantificación:

    Entropy MDL: este método requiere que seleccione la columna que desea predecir y la columna o columnas que desea agrupar en contenedores. A continuación, realiza un paso sobre los datos e intenta determinar el número de contenedores que minimiza la entropía. En otras palabras, elige una serie de contenedores que permite que la columna de datos prediga mejor la columna de destino. A continuación, devuelve el número bin asociado a cada fila de los datos en una columna denominada <colname>quantized.

    Si el método MDL entropía no puede encontrar una manera de binar inicialmente los datos para realizar una buena predicción, asigna todos los datos a un contenedor uniforme. Esto no significa que la columna no sea un buen predictor. En este caso, puede usar otros métodos para encontrar el número de contenedores que minimizarían la entropía y hacer que los datos sean un mejor predictor.

    Este método no devuelve las puntuaciones de entropía reales.

    Cuantiles: El método de cuantil asigna valores a cubos basándose en rangos de percentil. Cuantiles también se conoce como alto de cuantificación de igualdad.

    Mismo ancho: Con esta opción, debe especificar el número total de contenedores. Los valores de la columna se colocarán en contenedores de forma que cada contenedor tiene el mismo intervalo entre los valores de inicio y fin. Como resultado, algunos contenedores pueden tener más valores si los datos se agrupan en torno a un punto determinado.

    Bordes personalizados: Puede especificar los valores que comienzan cada cubo. El valor del borde siempre es el límite inferior del contenedor. Por ejemplo, suponga que desea agrupar los valores en dos contenedores, uno con valores mayores que 0 y otro con valores menores o iguales que 0. En este caso, para los bordes bin, escribiría 0 en la lista separada por comas de bordes bin. La salida del módulo sería 1 y 2, que indica el índice de la ubicación de cada valor de fila.

    Equal Width with Custom Start and Stop :este método es similar a la opción Equal Width , pero puede especificar límites de intervalo inferior y superior.

  4. Número de cubos: si usa los modos de discretización mdl, cuantiles y ancho igual , use esta opción para especificar cuántos cubos o cuantiles desea crear.

  5. Para Columnas a bin, use el selector de columnas para elegir las columnas que tienen los valores que desea discretizar. Las columnas deben tener un tipo de datos numéricos.

    La misma regla de cuantificación se aplica a todas las columnas que elija. Por tanto, si necesita cuantificar columnas con un método distinto, use una instancia independiente de Agrupación de datos en contenedores para cada conjunto de columnas.

    Advertencia

    Si elige una columna que no es un tipo permitido, se genera un error en tiempo de ejecución. El módulo devuelve un error en cuanto encuentra cualquier columna de un tipo no permitido. Si comete un error, revise todas las columnas seleccionadas. El error no muestra todas las columnas no válidas.

  6. En Modo de salida, indique cómo desea que se generen los valores cuantificados.

    • Anexión: Crea una nueva columna con los valores discretizados y se anexa a la tabla de entrada.

    • Inplace: Reemplaza los valores originales por los nuevos valores en el conjunto de datos.

    • ResultOnly: Devuelve solo las columnas de resultados.

  7. Si selecciona el modo de cuantificación de Cuantiles, use la opción Normalización de cuantiles para determinar cómo se normalizan los valores antes de la ordenación en cuantiles. Tenga en cuenta que la normalización de valores transforma los valores, pero no afecta al número final de contenedores. Para obtener un ejemplo, vea Efectos de diferentes métodos de normalización.

    Se admiten los siguientes tipos de normalización:

    • Percent: Los valores se normalizan en el rango [0100]

    • PQuantile: Los valores se normalizan en el rango [0,1]

    • QuantileIndex: los valores se normalizan dentro del intervalo [1,número de cubos]

  8. Si elige la opción Bordes personalizados, escriba una lista separada por comas de números que se usará como Bordes del contenedor en el cuadro de texto de la Lista + de bordes del contenedor. Los valores marcan el punto que divide los contenedores; por lo tanto, si escribe un valor de borde de contenedor, se generarán dos contenedores; Si escribe dos valores de borde de contenedor, se generarán tres contenedores, etc.

    Los valores se deben ordenar en función del orden de creación de los contenedores, de menor a mayor.

  9. Si usa la opción Equal Width With Custom Start And Stop (Ancho igual con inicio y detención personalizado), debe especificar los límites de los contenedores.

    Defina el límite inferior del primer contenedor escribiendo un valor en el cuadro de texto Primera posición perimetral .

    Defina el límite inferior del último contenedor escribiendo un valor en el cuadro de texto Última posición perimetral .

  10. Etiquetar columnas como categóricas: seleccione esta opción para agregar automáticamente una marca de metadatos a la columna de valores binned. La marca de metadatos indica que las columnas cuantificadas se deben controlar como variables categóricas.

  11. Ejecute el experimento o seleccione este módulo y haga clic en Ejecutar seleccionado.

Results

El módulo Grupo de datos en bins devuelve un conjunto de datos donde cada elemento se cuantifica según el modo especificado.

También devuelve una Transformación de cuantificación, que es una función que puede pasarse al módulo Aplicar transformación para contener nuevos ejemplos de datos usando el mismo modo y los mismos parámetros de cuantificación.

Para ver cómo funciona el método de discretización como predicción, puede hacer clic en la salida del conjunto de datos de Agrupar datos en contenedores y comparar la columna de etiqueta con la columna binned. Si la agrupación en contenedores es predictiva, los valores de la matriz de tabulación cruzada deben concentrarse en algunas celdas.

Sugerencia

Recuerde que si usa cuantificación en los datos de entrenamiento, debe usar el mismo método cuantificación en los datos que usa para las pruebas y la predicción. Esto incluye el método de cuantificación, las ubicaciones del contenedor y el ancho del contenedor.

Para asegurarse de que los datos se transforman siempre mediante el mismo método de cuantificación, se recomienda guardar transformaciones de datos útiles y, a continuación, aplicarlos a otros conjuntos de datos mediante el módulo Aplicar transformación.

Ejemplos

Para obtener ejemplos de cómo se aplica la cuantificación en escenarios de aprendizaje automático, consulte la Galería de Azure AI:

Notas técnicas

Esta sección contiene detalles de implementación, sugerencias y respuestas a las preguntas más frecuentes.

Efectos de diferentes métodos de normalización

Si selecciona la opción, normalización de Cuantiles, los valores se transforman antes de la discretización. Por lo tanto, el método que elija para la normalización tiene un efecto fuerte en los valores numéricos.

Por ejemplo, en la tabla siguiente se muestra cómo los valores de una sola columna, fLength, del conjunto de datos de Telescopio se transforman con cada uno de los métodos de normalización. La columna, fLength, se eligió aleatoriamente para ilustrar los valores de salida de cada opción y no tiene una distribución normal.

Origen (fLength) pQuantile QuantileIndex Porcentaje
28.7967 0.363636 4 36.363636
31.6036 0.454545 5 45.454545
162.052 0.909091 10 90.909091
23.8172 0.272727 3 27.272727

Los resultados de la discretización son similares para cada método.

En el gráfico siguiente se muestra la distribución de valores en la columna antes y después de la discretización, con el valor predeterminado de 10 contenedores.

Comparison of Normalization Methods for Binning

Detalles de la implementación

  • Durante la cuantificación, cada número se asigna a un contenedor comparando su valor con los valores de los bordes de la discretización.

    Por ejemplo, si el valor es 1,5 y los bordes bin son 1, 2 y 3, el elemento se asignaría al número bin 2. El valor 0,5 se asignaría al número de bin 1 (la bandeja de flujo inferior) y el valor 3,5 se asignaría al número de bin 4 (el contenedor de desbordamiento).

  • Si la columna para discretizar (cuantificar) es dispersa, se utiliza el desplazamiento del índice del cubo (desplazamiento de cuantil) cuando se rellena la columna resultante. El desplazamiento se elige para que el 0 disperso siempre vaya al cubo con el índice 0 (en otras palabras, el cuantil con valor 0).

  • Por consiguiente, los ceros dispersos se propagan desde la columna de entrada a la de salida.

  • Por otra parte, el procesamiento de la columna densa siempre genera un resultado con el índice de cubo mínimo igual a 1; es decir, el valor mínimo de cuantil igual al valor mínimo de la columna. Al mismo tiempo, el procesamiento de una columna dispersa genera un resultado con un índice de intervalo mínimo variable (valor mínimo cuantiles).

  • Todos los valores NaN y que faltan se propagan de la columna de entrada a la de salida. La única excepción es el caso en el que el módulo devuelve índices de cuantil. En este caso todos los valores NaN se promueven a valores que faltan.

  • Los índices de cubo tienen base 1. Esta es la convención natural para los cuantiles (primer cuantil, segundo cuantil, etc.). La única excepción es el caso en el que la columna que se desea segmentar es dispersa.

Entradas esperadas

Nombre Tipo Descripción
Dataset Tabla de datos Conjunto de datos que se va a analizar

Parámetros del módulo

Nombre Intervalo Tipo Valor predeterminado Descripción
Modo de discretización List QuantizationMode Cuantiles Elegir un método de discretización
Columnas para discretizar cualquiera ColumnSelection NumericAll Elegir columnas para cuantificación
Modo de salida cualquiera OutputTo Indicar cómo se deben mostrar las columnas cuantificadas
Columnas de etiqueta como de categorías cualquiera Boolean true Indicar si las columnas de salida se deben etiquetar como de categorías
Número de cubos >=1 Entero 10 Especificar el número deseado de cubos
Normalización de cuantil cualquiera BinningNormalization Elija el método para normalizar los cuantiles
Posición del primer borde cualquiera Float 0,0 Especificar el valor para el primer borde de cubo
Ancho de cubo cualquiera Float 0.5 Especificar un ancho de cubo personalizado
Posición del último borde cualquiera Float 1,0 Especificar el valor para el último borde de cubo
Lista separada por comas de bordes de cubo cualquiera String Escriba una lista separada por comas de números que se van a usar como bordes de cubo

Salidas

Nombre Tipo Descripción
Conjunto de datos cuantificado Tabla de datos Conjunto de datos con columnas cuantificadas
Transformación de discretización Interfaz ITransform Transformación que aplica cuantificación al conjunto de datos

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 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 0021 Se produce una excepción si el número de filas en algunos de los conjuntos de datos que se pasan al módulo es demasiado pequeño.
Error 0024 Se produce una excepción si el conjunto de datos no contiene una columna de etiqueta.
Error 0020 Se produce una excepción si en algunos de los conjuntos de datos que se pasan al módulo el número de columnas es demasiado pequeño.
Error 0038 Se produce una excepción si se espera que el número de elementos sea un valor exacto, pero no lo es.
Error 0005 Se produce una excepción si el parámetro es menor que el valor especificado.
Error 0002 Se produce una excepción si no se pudieron analizar o convertir uno o más parámetros del tipo especificado al solicitado por el tipo de método de destino.
Error 0019 Se produce una excepción si se espera que la columna contenga valores ordenados, pero es así.
Error 0039 Se produce una excepción si la operación no se puede realizar.
Error 0075 Se produce una excepción cuando se usa una función de cuantificación no válida al cuantificar un conjunto de datos.

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

Escalar y reducir
Normalize Data (normalizar datos)
Recorte de valores