Partición y ejemplo

Crea varias particiones de un conjunto de datos en función del muestreo

Categoría: transformación de datos/muestra y división

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 de ejemplo y de partición en Azure machine learning Studio (clásico) para realizar el muestreo en un conjunto de DataSet o para crear particiones a partir del conjunto de DataSet.

El muestreo es una herramienta importante en Machine Learning porque permite reducir el tamaño de un conjunto de datos mientras mantiene la misma relación de valores. Este módulo admite varias tareas relacionadas que son importantes en Machine Learning:

  • División de los datos en varias subsecciones del mismo tamaño.

    Puede usar las particiones para la validación cruzada o para asignar casos a grupos aleatorios.

  • Separación de los datos en grupos para trabajar con los datos de un grupo específico.

    Después de asignar aleatoriamente casos a diferentes grupos, puede que deba modificar las características asociadas a un único grupo.

  • Muestreo.

    Puede extraer un porcentaje de los datos, aplicar un muestreo aleatorio o elegir una columna para usarla para equilibrar el conjunto de datos y realizar el muestreo estratificado de sus valores.

  • Creación de un conjunto de datos más pequeño para las pruebas.

    Si tiene una gran cantidad de datos, puede utilizar solo las n primeras filas al configurar el experimento y después cambiar al conjunto de datos completo cuando compile el modelo. También puede usar el muestreo para crear conjuntos de datos más pequeños para su uso en desarrollo.

Cómo configurar la partición y el ejemplo

Este módulo admite varios métodos para dividir los datos en particiones o para el muestreo. Elija el método en primer lugar y, a continuación, establezca las opciones adicionales necesarias para el método.

  • Obtener el número superior de filas

Obtener las N filas superiores de un conjunto de datos

Utilice este modo para obtener solo las n primeras filas. Esta opción es útil si desea probar un experimento en un pequeño número de filas y no necesita equilibrar o muestrear los datos en ningún modo.

  1. Agregue la partición y el módulo de ejemplo al experimento en Studio (clásico) y conecte el conjunto de código.

  2. Partition or sample mode (Modo de partición o muestra): establezca esta opción en Principal.

  3. Número de filas que se van a seleccionar: escriba el número de filas que se van a devolver.

    El número de filas que especifique debe ser un entero no negativo. Si el número de filas seleccionadas es superior al número de filas del conjunto de datos, se devuelve el conjunto de datos completo.

  4. Ejecute el experimento.

El módulo genera un único conjunto de datos que contiene solo el número especificado de filas. Las filas siempre se leen desde la parte superior del conjunto de datos.

Crear una muestra de datos

Esta opción es compatible con un muestreo aleatorio simple o un muestreo aleatorio estratificado. Esto es útil si desea crear un conjunto de datos de muestra más pequeño representativo para las pruebas.

  1. Agregue la partición y el módulo de ejemplo al experimento en Studio (clásico) y conecte el conjunto de código.

  2. Modo de ejemplo o partición: establézcalo en muestreo.

  3. Tasa de muestreo: escriba un valor entre 0 y 1. Este valor especifica el porcentaje de filas del conjunto de datos de origen que debe incluirse en el conjunto de datos de salida.

    Por ejemplo, si desea solo la mitad del conjunto de datos original, escriba 0.5 para indicar que la tasa de muestreo debe ser un 50 %.

    Las filas del conjunto de datos de entrada se ordenan de forma aleatoria y se colocan selectivamente en el conjunto de datos de salida, según la relación especificada.

  4. Inicialización aleatoria para el muestreo: opcionalmente, escriba un entero para usarlo como valor de inicialización.

    Esta opción es importante si desea que las filas se dividan de la misma manera cada vez. El valor predeterminado es 0, lo que significa que se genera una inicialización inicial basada en el reloj del sistema. Esto puede conducir a resultados ligeramente diferentes cada vez que ejecute el experimento.

  5. División de estratificado para el muestreo: Seleccione esta opción si es importante que alguna columna de clave se divida uniformemente entre las filas del conjunto de filas antes del muestreo.

    Para la Stratification key column for sampling (Columna de clave de estratificación para muestreo), seleccione una sola columna de estratos a fin de utilizarla al dividir el conjunto de datos. A continuación, las filas del conjunto de datos se dividen como sigue:

    1. Todas las filas de entrada se agrupan (estratificadas) por los valores de la columna de estratos especificada.

    2. Las filas se ordenan aleatoriamente dentro de cada grupo.

    3. Cada grupo se agrega de forma selectiva al conjunto de datos de salida para cumplir con la relación especificada.

    Para obtener más información sobre el muestreo de estratificado, consulte la sección notas técnicas .

  6. Ejecute el experimento.

    Con esta opción, el módulo genera un único conjunto de datos que contiene una muestra representativa de los datos.

    La salida no contiene la parte sin muestreo restante del conjunto de datos. Sin embargo, puede crear una combinación en los conjuntos de valores, mediante el módulo aplicar transformación de SQL , para determinar las filas que no se usaron.

Dividir los datos en particiones

Use esta opción si desea dividir el conjunto de datos en subconjuntos de los datos. Esta opción también es útil cuando desea crear un número personalizado de plegamientos para la validación cruzada o dividir filas en varios grupos.

  1. Agregue la partición y el módulo de ejemplo al experimento en Studio (clásico) y conecte el conjunto de código.

  2. Para el Partition or sample mode (Modo de partición o muestra), seleccione Assign to Folds (Asignar a plegamientos).

  3. Use replacement in the partitioning (Usar reemplazo en la creación de particiones): seleccione esta opción si desea que la fila muestreada se vuelva a poner en el grupo de filas para poder reutilizarla. Como resultado, la misma fila podría asignarse a varios plegamientos.

    Si no utiliza el reemplazo (opción predeterminada), la fila muestreada no se vuelve a colocar en el grupo de filas para poder reutilizarla. Como resultado, cada fila puede asignarse a solo un plegamiento.

  4. División aleatoria: Seleccione esta opción si desea que las filas se asignen aleatoriamente a los pliegues.

    Si no selecciona esta opción, las filas se asignan a los plegamientos con el método round-robin.

  5. Inicialización aleatoria: opcionalmente, escriba un entero para usarlo como valor de inicialización. Esta opción es importante si desea que las filas se dividan de la misma manera cada vez. En caso contrario, el valor predeterminado de 0 significa que se usará una inicialización inicial aleatoria.

  6. Especifique el método de particionador: indique cómo desea que se proporciones los datos en cada partición mediante estas opciones:

    • Partition evenly (Partición uniforme): use esta opción para colocar un número igual de filas en cada partición. Para especificar el número de particiones de salida, escriba un número entero en el cuadro de texto Specify number of folds to split evenly into (Especificar número de plegamientos en los que se debe dividir uniformemente).

    • Partition with customized proportions (Partición con proporciones personalizadas): Use esta opción para especificar el tamaño de cada partición como una lista separada por comas.

      Por ejemplo, si desea crear tres particiones y la primera partición va a contener el 50 % de los datos y las dos particiones restantes van a contener cada una el 25 % de los datos, haga clic en el cuadro de texto List of proportions separated by comma (Lista de proporciones separadas por comas) y escriba estos números: .5, .25, .25

      La suma de todos los tamaños de partición debe ser exactamente 1.

      • Si escribe números que se suman menos de 1, se crea una partición adicional para contener las filas restantes. Por ejemplo, si escribe los valores ,2 y ,3, se crea una tercera partición que contiene el 50 por ciento restante de todas las filas.

      • Si escribe números que se suman a más de 1, se produce un error al ejecutar el experimento.

  7. Stratified split (División estratificada): seleccione esta opción si desea que las filas se estratifiquen al dividir y, a continuación, elija la columna de estratos.

    Para obtener más información sobre el muestreo de estratificado, consulte la sección notas técnicas .

  8. Ejecute el experimento.

    Con esta opción, el módulo genera varios conjuntos de datos con particiones mediante las reglas que especificó.

Usar datos de una partición predefinida

Esta opción se usa cuando ha dividido un conjunto de datos en varias particiones y ahora desea cargar cada partición para su posterior análisis o procesamiento.

  1. Agregue la partición y el módulo de ejemplo al experimento en Studio (clásico).

  2. Conéctelo a la salida de una instancia anterior de Partición y muestra. Esa instancia debe haber usado la opción Assign to Folds (Asignar a plegamientos) para generar algunas particiones.

  3. Partition or sample mode (Modo de partición o muestra): seleccione Pick Fold (Seleccionar plegamiento).

  4. Especificar el subconjunto del que se va a realizar el muestreo: seleccione la partición que se va a usar escribiendo su índice. Los índices de partición están basados en 1. Por ejemplo, si ha dividido el conjunto de datos en tres partes, las particiones tendrían los índices de 1, 2 y 3.

    Si escribe un valor de índice no válido, se genera un error en tiempo de diseño: "error 0018: el conjunto de datos contiene datos no válidos".

    Además de agrupar el conjunto de datos por plegamientos, puede separar el conjunto de datos en dos grupos: un plegamiento de destino y todo lo demás. Para ello, escriba el índice de un único plegamiento y, a continuación, seleccione la opción Pick complement of the selected fold (Seleccionar complemento del plegamiento seleccionado), para obtener todo excepto los datos del plegamiento especificado.

  5. Si trabaja con varias particiones, debe agregar instancias adicionales del módulo Partición y muestra para controlar cada partición.

    Por ejemplo, supongamos que los pacientes particionados anteriormente en cinco pliegues usan Age. Para trabajar con cada subconjunto individual, se necesitan cinco copias de la partición y el módulo de ejemplo, y en cada una de ellas se selecciona un pliegue diferente.

    Sugerencia

    El experimento de ejemplo, la partición dividida y el ejemplomuestran esta técnica.

  6. Ejecute el experimento.

    Con esta opción, el módulo genera un único conjunto de datos que contiene solo las filas asignadas a ese subconjunto.

Nota

No se puede ver las designaciones de plegamiento directamente; están presentes solo en los metadatos.

Ejemplos

Para obtener ejemplos de cómo se usa este módulo, consulte la Azure AI Gallery:

  • Validación cruzada para clasificación binaria: se aplica una frecuencia de muestreo del 20% para crear un conjunto de un conjunto de archivos muestreado aleatoriamente más pequeño. El conjunto de filas del censo original tenía más de 30.000 filas; el conjunto de código muestreado tiene aproximadamente 6500.

  • Validación cruzada para la regresión: los datos se asignan aleatoria y uniformemente a cinco subconjuntos, sin estratificación, y los resultados se usan para la validación cruzada.

  • Dividir partición y ejemplo: muestra varias maneras de usar las particiones y el muestreo. En primer lugar, se usa la opción asignar a pliegues para asignar las filas del conjunto de filas a uno de los tres grupos de tamaño uniforme. A continuación, se agregan tres instancias más de particiones y muestrear mediante el modo de selección de subconjuntos para aplicar operaciones a subconjuntos de datos.

    • En el primer pliegue (índice de 1), las filas se dividen de forma aleatoria.
    • En el segundo pliegue (índice 2), las filas se dividen por educación.
    • En el tercer pliegue (índice 3), las filas se dividen por edad.

Notas técnicas

  • La columna de estratificación debe ser de categoría con valores discretos. Si la columna no es de categoría y obtiene un error, use editar metadatos para cambiar las propiedades de la columna.

  • La columna estratos que especifique no puede contener datos continuos: es decir, datos numéricos con valores de punto flotante en cada celda. De lo contrario, el módulo no puede procesar los datos y devuelve un error.

    La razón es que cualquier columna usada para la estratificación debe tener un conjunto finito de valores posibles. Si la columna estratos especificada contiene valores de punto flotante y la columna no es de tipo de categoría, puede que contenga un número infinito de valores.

  • Si la columna estratos contiene valores booleanos y desea que se interpreten como categorías, debe usar el módulo editar metadatos para cambiar la etiqueta de metadatos.

  • Si la columna estratos contiene datos numéricos o de cadena con demasiados valores únicos, la columna no es una buena candidata para el muestreo de estratificado.

Más información sobre el muestreo de estratificado

El muestreo estratificado garantiza que los subconjuntos de los datos tienen una muestra representativa de la columna estratos seleccionada. Esta técnica es útil, por ejemplo, cuando quiere asegurarse de que los datos de entrenamiento contienen la misma distribución de valores de edad que tienen los datos de prueba, o viceversa. También puede que le interese estratificar una columna de sexo en un estudio de atención sanitaria para asegurarse de que los hombres y las mujeres se distribuyan uniformemente al crear particiones de los datos. La estratificación garantiza que las relaciones de los valores seleccionados se conservan.

Especifique los valores en los que desea separar los datos seleccionando una sola columna para que sirva como columna estratos.

Este módulo requiere que la columna estratos sea una columna de categorías. Si quiere usar una columna de valores enteros para los estratos, es aconsejable asignar un tipo de categoría a esta columna. Puede hacerlo a través del esquema de los datos antes de agregarlo a Azure Machine Learning Studio (clásico), o puede actualizar los metadatos de la columna mediante el uso de editar metadatos.

Las columnas con datos continuos (es decir, datos numéricos con valores de número de punto flotante en cada celda) no se pueden utilizar como columnas de estratos. Si recibe un error, puede usar los datos de grupo en las bandejas para almacenar los valores en intervalos discretos y, a continuación, usar editar metadatos para garantizar que la columna se tratará como categoría.

Entradas esperadas

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

Parámetros del módulo

Nombre Intervalo Tipo Valor predeterminado Descripción
Modo de partición o muestra List Métodos de muestreo muestreo Seleccionar el modo de partición o muestreo
Usar reemplazo en la creación de particiones Any Boolean False Indicar si los pliegues deben ser disjuntos (valor predeterminado: sin reemplazo) o superpuestos (reemplazo de uso real)
División aleatoria Any Boolean True Indique si la división es aleatoria
Inicialización aleatoria Any Entero 0 Especificar un valor de inicialización para el generador de números aleatorios
Especificar el método del particionador List Métodos de partición Partición uniforme Seleccione la partición uniformemente para crear particiones en subconjuntos de igual tamaño o partición con proporciones personalizadas para particionar en plegamientos de tamaño personalizado.
Especificar el número de subconjuntos en el que realizar la división uniformemente >=1 Entero 5 Seleccionar un número de particiones en las que dividir
División estratificada List Tipo Verdadero/Falso False Indique si la división se estratifica
Columna de clave de estratificación Any ColumnSelection Contiene la clave de estratificación
Lista de proporciones separadas por comas Any String Muestre una lista de las proporciones, separadas por comas
División estratificada división para asignación de subconjuntos personalizada Any Tipo Verdadero/Falso False Indique si la división está estratificada para las asignaciones de pliegues personalizadas
Columna de clave de estratificación para asignación de subconjunto personalizada Any ColumnSelection Contiene la clave de estratificación para las asignaciones de pliegues personalizadas
Especificar qué subconjunto se va a muestrear >=1 Entero 1 Contiene el índice del subconjunto que se va a muestrear
Seleccionar complemento del subconjunto seleccionado Any Boolean False Seleccionar el complemento del subconjunto especificado
Tasa de muestreo Any Float 0,01 Elija una frecuencia de muestreo
Valor de inicialización aleatorio para el muestreo Any Entero 0 Especifique un valor de inicialización para el generador de números aleatorios de cara al muestreo
División estratificada para el muestreo Any Verdadero/Falso False Indique si la división se estratifica para el muestreo
Columna de clave de estratificación para el muestreo Any ColumnSelection Contiene la clave de estratificación para el muestreo
Número de filas para seleccionar >=0 Entero 10 Elija un número máximo de registros que se permitirá que pasen al siguiente módulo

Salidas

Nombre Tipo Descripción
Conjunto de datos Tabla de datos Conjunto de datos resultante de la división

Vea también

Ejemplo y división
Dividir datos
Editar metadatos
Agrupación de datos en intervalos