Share via


Componente Dividir datos

En este artículo se describe un componente del diseñador de Azure Machine Learning.

Use el componente Dividir datos para dividir un conjunto de datos en dos conjuntos distintos.

Este componente es especialmente útil cuando necesita separar los datos en conjuntos de entrenamiento y prueba. Además, puede personalizar la forma en que se dividen los datos. Algunas opciones admiten la selección aleatoria de datos. Otras se adaptan a un tipo de datos o tipo de modelo determinado.

Configuración del componente

Sugerencia

Antes de elegir el modo de división, lea todas las opciones para determinar el tipo de división que necesita. Si cambia el modo de división, se podrían restablecer todas las demás opciones.

  1. Agregue el componente Dividir datos a la canalización del diseñador. Puede encontrar este componente en Transformación de datos, en la categoría Muestrear y dividir.

  2. Splitting mode (Modo de división): elija uno de los modos siguientes, según el tipo de datos que tenga y cómo quiera dividirlos. Cada modo de división tiene distintas opciones.

    • Split Rows (Dividir filas): Use esta opción si quiere dividir los datos en dos partes. Puede especificar el porcentaje de datos que se van a colocar en cada división. De forma predeterminada, los datos se dividen en la proporción 50/50.

      También puede hacer la selección de filas de cada grupo de forma aleatoria y usar muestreo estratificado. En el muestreo estratificado, debe seleccionar una sola columna de datos para la que quiera que los valores se distribuyan por igual entre los dos conjuntos de datos de resultados.

    • Regular Expression Split (División de expresión regular): elija esta opción cuando quiera dividir el conjunto de datos probando una sola columna para un valor.

      Por ejemplo, si analiza la opinión, puede comprobar la presencia del nombre de producto determinado en un campo de texto. Luego, puede dividir el conjunto de datos en filas con y sin el nombre del producto de destino.

    • Relative Expression Split (División de expresión relativa): Use esta opción siempre que quiera aplicar una condición a una columna de números. El número podría ser un campo de fecha y hora, una columna que contenga edades o importes monetarios, o incluso un porcentaje. Por ejemplo, podría dividir el conjunto de datos según el costo de los artículos, agrupar personas por intervalos de edad o separar datos por una fecha del calendario.

División de filas

  1. Agregue el componente Dividir datos a la canalización en el diseñador y conecte el conjunto de datos que quiera dividir.

  2. En Splitting mode (Modo de división), seleccione Split Rows (Dividir filas).

  3. Fraction of rows in the first output dataset (Fracción de filas del primer conjunto de datos de salida): use esta opción para determinar cuántas filas irán en la primera salida (izquierda). Todas las demás filas irán en la segunda salida (derecha).

    El coeficiente representa el porcentaje de filas que se envían al primer conjunto de datos de salida, por lo que debe escribir un número decimal comprendido entre 0 y 1.

    Por ejemplo, si escribe 0,75 como valor, el conjunto de filas se dividirá en la proporción 75/25. En esta división, el 75 por ciento de las filas se enviarán al primer conjunto de datos de salida. El 25 por ciento restante se enviará al segundo conjunto de datos de salida.

  4. Seleccione la opción Randomized split (División aleatoria) si quiere realizar la selección de datos en los dos grupos de forma aleatoria. Esta es la opción preferida cuando se crean conjuntos de datos de entrenamiento y prueba.

  5. Valor de inicialización aleatorio: este parámetro se omitirá si Randomized split (División aleatoria) está establecido en false. De lo contrario, escriba un valor entero no negativo para iniciar la secuencia seudoaleatoria de instancias que se usará. Este valor de inicialización predeterminado se usa en todos los componentes que generan números aleatorios.

    Especificar un valor de inicialización hace que los resultados sean reproducibles. Si tiene que repetir los resultados de una operación de división, debe especificar el mismo número de inicialización para el generador de números aleatorios.

  6. Stratified split (División estratificada): Establezca esta opción en True para garantizar que los dos conjuntos de datos de resultados contengan una muestra representativa de los valores de la columna de estratos o la columna de clave de estratificación.

    Con el muestreo estratificado, los datos se dividen de forma que cada conjunto de datos de salida obtiene aproximadamente el mismo porcentaje de cada valor de destino. Por ejemplo, es posible que quiera asegurarse de que sus conjuntos de entrenamiento y prueba estén más o menos compensados en relación con el resultado, o con respecto a alguna otra columna (como el género).

  7. Envíe la canalización.

Selección de una expresión regular

  1. Agregue el componente Dividir datos a la canalización y conéctelo como entrada al conjunto de datos que quiera dividir.

  2. Para Splitting mode, seleccione Regular expression split.

  3. En el cuadro Regular expression(Expresión regular), escriba una expresión regular válida.

    La expresión regular debe seguir la sintaxis de expresiones regulares de Python.

  4. Envíe la canalización.

    En función de la expresión regular que proporcione, el conjunto de datos se divide en dos conjuntos de filas: filas con valores que coinciden con la expresión y todas las filas restantes.

En los siguientes ejemplos se muestra cómo dividir un conjunto de datos mediante la opción Regular expression (Expresión regular).

Palabra completa única

En este ejemplo todas las filas que contienen el texto Gryphon en la columna Text se colocan en el primer conjunto de datos. El resto de las filas van a la segunda salida de Split Data (Dividir datos).

    \"Text" Gryphon  

Substring

En este ejemplo se busca la cadena especificada en cualquier posición dentro de la segunda columna del conjunto de datos. La posición se indica aquí por el valor de índice de 1. La coincidencia distingue entre mayúsculas y minúsculas.

(\1) ^[a-f]

El primer conjunto de datos de resultados contiene todas las filas en las que la columna de índice comienza con uno de estos caracteres: a, b, c, d, e, f. Todas las demás filas se dirigen a la segunda salida.

Selección de una expresión relativa

  1. Agregue el componente Dividir datos a la canalización y conéctelo como entrada al conjunto de datos que quiera dividir.

  2. En Splitting mode (Modo de división), seleccione Relative Expression (Expresión relativa).

  3. En el cuadro de texto Relational expression (Expresión relacional), escriba una expresión que realice una operación de comparación en una sola columna.

    En Numeric column (Columna numérica):

    • La columna contiene números de cualquier tipo de datos numéricos, incluidos los tipos de datos de fecha y hora.
    • La expresión puede hacer referencia a un máximo de un nombre de columna.
    • Use el carácter de "Y" comercial & para la operación AND. Use el carácter de barra vertical | para la operación OR.
    • Se admiten los siguientes operadores: <, >, <=, >=, ==, !=.
    • No puede agrupar las operaciones con ( y ).

    En String column (Columna de cadena):

    • Se admiten los siguientes operadores: ==, !=.
  4. Envíe la canalización.

    La expresión divide el conjunto de datos en dos conjuntos de filas: las filas con valores que cumplen la condición y todas las filas restantes.

En los siguientes ejemplos se muestra cómo dividir un conjunto de datos mediante la opción Expresión relativa del componente Dividir datos.

Año del calendario

Un escenario común consiste en dividir un conjunto de datos por años. La expresión siguiente selecciona todas las filas donde los valores de la columna Year son mayores que 2010.

\"Year" > 2010

La expresión de fecha debe tener en cuenta todas las partes de fecha que se incluyen en la columna de datos. El formato de las fechas en la columna de datos debe ser coherente.

Por ejemplo, en una columna de fecha con el formato mmddyyyy, la expresión debe ser similar a la siguiente:

\"Date" > 1/1/2010

Índice de columna

La siguiente expresión muestra cómo puede utilizar el índice de columna para seleccionar todas las filas de la primera columna del conjunto de datos que contienen valores menores o iguales a 30, pero no iguales a 20.

(\0)<=30 & !=20

Pasos siguientes

Vea el conjunto de componentes disponibles para Azure Machine Learning.