Datos de transformación - Amazon SageMaker

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

Datos de transformación

Amazon SageMaker Data Wrangler ofrece numerosas transformaciones de datos de aprendizaje automático para agilizar la limpieza, la transformación y la caracterización de los datos. Cuando agrega una transformación, agrega un paso al flujo de datos. Cada transformación que añada modifica su conjunto de datos y produce un nuevo marco de datos. Todas las transformaciones posteriores se aplican al marco de datos resultante.

Data Wrangler incluye transformaciones integradas, que puede utilizar para transformar columnas sin necesidad de código. También puede añadir transformaciones personalizadas mediante PySpark Python (función definida por el usuario), pandas y PySpark SQL. Algunas transformaciones funcionan “in situ”, mientras que otras crean una nueva columna de salida en el conjunto de datos.

Puede aplicar transformaciones a varias columnas a la vez. Por ejemplo, puede eliminar varias columnas en un solo paso.

Puede aplicar las transformaciones Procesar numérico y Gestionar faltantes solo a una columna.

Utilice esta página para obtener más información sobre estas transformaciones integradas y personalizadas.

IU de transformación

La mayoría de las transformaciones integradas se encuentran en la pestaña Preparación de la interfaz de usuario de Data Wrangler. Puede acceder a las transformaciones de unión y concatenación a través de la vista de flujo de datos. Utilice la siguiente tabla para obtener una vista previa de estas dos vistas.

Transform

Puede añadir una transformación a cualquier paso del flujo de datos. Utilice el siguiente procedimiento para agregar una transformación a su flujo de datos.

Para agregar un paso a su flujo de datos, haga lo siguiente.

  1. Seleccione el signo +, situado junto al paso del flujo de datos.

  2. Seleccione Agregar transformación.

  3. Seleccione Agregar paso.

    Agregar paso se encuentra en la parte superior de la sección Transformaciones.
  4. Seleccione una transformación.

  5. (Opcional) Puede buscar la transformación que desea utilizar. Data Wrangler resalta la consulta en los resultados.

    Cuadro de búsqueda ubicado en la parte superior de la sección AGREGAR TRANSFORMACIÓN.
Join View

Para unir dos conjuntos de datos, seleccione el primer conjunto de datos de su flujo de datos y elija Unir. Al elegir Unir, verá resultados similares a los que se muestran en la siguiente imagen. Los conjuntos de datos izquierdo y derecho se muestran en el panel izquierdo. El panel principal muestra su flujo de datos, con el conjunto de datos recién unido agregado.

Si elige Configurar para configurar la unión, verá resultados similares a los que se muestran en la siguiente imagen. La configuración de unión se muestra en el panel izquierdo. Puede usar este panel para elegir el nombre del conjunto de datos unido, el tipo de unión y las columnas que desea unir. El panel principal muestra tres tablas. Las dos tablas superiores muestran los conjuntos de datos izquierdo y derecho, a la izquierda y a la derecha respectivamente. En esta tabla, puede obtener una vista previa del conjunto de datos unido.

Consulte Unir conjuntos de datos para obtener más información.

Concatenate View

Para concatenar dos conjuntos de datos, seleccione el primer conjunto de datos del flujo de datos y elija Concatenar. Al seleccionar Concatenar, verá resultados similares a los que se muestran en la siguiente imagen. Los conjuntos de datos izquierdo y derecho se muestran en el panel izquierdo. El panel principal muestra su flujo de datos, con el conjunto de datos recién concatenado agregado.

Al elegir Configurar para configurar la concatenación, verá resultados similares a los que se muestran en la siguiente imagen. La configuración de concatenación se muestra en el panel izquierdo. Puede usar este panel para elegir el nombre del conjunto de datos concatenado, eliminar los duplicados después de la concatenación y agregar columnas para indicar el marco de datos de origen. El panel principal muestra tres tablas. Las dos tablas superiores muestran los conjuntos de datos izquierdo y derecho, a la izquierda y a la derecha respectivamente. En esta tabla, puede obtener una vista previa del conjunto de datos unido.

Consulte Concatenar conjuntos de datos para obtener más información.

Unir conjuntos de datos

Los marcos de datos se unen directamente a su flujo de datos. Al unir dos conjuntos de datos, el conjunto de datos unido resultante aparece en el flujo. Data Wrangler admite los siguientes tipos de unión.

  • Exterior izquierda: incluye todas las filas de la tabla de la izquierda. Si el valor de la columna unida a una fila de la izquierda de la tabla no coincide con ningún valor de la fila de la derecha, esa fila contiene valores nulos para todas las columnas de la derecha de la tabla unida.

  • Anticombinación izquierda: incluye las filas de la tabla de la izquierda que no contienen los valores de la tabla de la derecha para la columna unida.

  • Semicombinación izquierda: incluye una sola fila de la tabla de la izquierda para todas las filas idénticas que cumplan los criterios de la instrucción de combinación. Esto excluye las filas duplicadas de la tabla de la izquierda que coincidan con los criterios de la unión.

  • Exterior derecha: incluye todas las filas de la tabla de la derecha. Si el valor de la columna unida de una fila de la derecha de la tabla no coincide con ningún valor de la fila de la izquierda, esa fila contiene valores nulos para todas las columnas de la tabla de la izquierda de la tabla unida.

  • Interior: incluye filas de las tablas izquierda y derecha que contengan valores coincidentes en la columna unida.

  • Exterior completa: incluye todas las filas de las tablas izquierda y derecha. Si el valor de fila de la columna unida de alguna de las tablas no coincide, se crean filas independientes en la tabla unida. Si una fila no contiene un valor para una columna de la tabla unida, se inserta un valor nulo para esa columna.

  • Cruzada cartesiana: incluye filas que combinen cada fila de la primera tabla con cada fila de la segunda tabla. Se trata de un producto cartesiano de las filas de las tablas de la unión. El resultado de este producto es el tamaño de la tabla izquierda multiplicado por el tamaño de la tabla derecha. Por lo tanto, recomendamos tener cuidado al utilizar esta unión entre conjuntos de datos muy grandes.

Utilice el siguiente procedimiento para unir dos marcos de datos.

  1. Seleccione el signo + junto al marco de datos izquierdo que desee unir. El primer marco de datos que seleccione será siempre la tabla de la izquierda de la combinación.

  2. Elija Join (Unirse).

  3. Seleccione el marco de datos derecho. El segundo marco de datos que seleccione será siempre la tabla de la derecha de la combinación.

  4. Elija Configurar para configurar la unión.

  5. Asigne un nombre al conjunto de datos unido en el campo Nombre.

  6. Seleccione un tipo de unión.

  7. Seleccione una columna de las tablas izquierda y derecha para unirlas.

  8. Elija Aplicar para obtener una vista previa del conjunto de datos unido a la derecha.

  9. Para agregar la tabla unida a su flujo de datos, elija Agregar.

Concatenar conjuntos de datos

Concatenar dos conjuntos de datos:
  1. Seleccione +, junto al marco de datos izquierdo que desee concatenar. El primer marco de datos que seleccione será siempre la tabla de la izquierda de la concatenación.

  2. Elija Concatenar.

  3. Seleccione el marco de datos derecho. El segundo marco de datos que seleccione será siempre la tabla de la derecha de la concatenación.

  4. Elija Configurar para configurar la concatenación.

  5. Asigne un nombre al conjunto de datos concatenado en el campo Nombre.

  6. (Opcional) Seleccione la casilla de verificación situada junto a Eliminar los duplicados después de la concatenación para eliminar las columnas duplicadas.

  7. (Opcional) Seleccione la casilla de verificación situada junto a Añadir columna para indicar el marco de datos de origen si, para cada columna del nuevo conjunto de datos, desea añadir un indicador del origen de la columna.

  8. Elija Aplicar para obtener una vista previa del nuevo conjunto de datos.

  9. Seleccione agregar para añadir el nuevo conjunto de datos a su flujo de datos.

Equilibrar los datos

Puede equilibrar los datos de los conjuntos de datos con una categoría infrarrepresentada. Equilibrar un conjunto de datos puede ayudarle a crear mejores modelos para la clasificación binaria.

nota

No puede equilibrar los conjuntos de datos que contienen vectores de columnas.

Puede utilizar la operación Equilibrar datos para equilibrar los datos mediante uno de los siguientes operadores.

  • Sobremuestreo aleatorio: duplica aleatoriamente las muestras de la categoría minoritaria. Por ejemplo, si está intentando detectar un fraude, es posible que solo tenga casos de fraude en el 10 % de sus datos. Para una proporción igual de casos fraudulentos y no fraudulentos, este operador duplica aleatoriamente los casos de fraude en el conjunto de datos ocho veces.

  • Submuestreo aleatorio: es bastante equivalente al sobremuestreo aleatorio. Elimina aleatoriamente las muestras de la categoría sobrerrepresentada para obtener la proporción de muestras que desee.

  • Técnica de sobremuestreo de minorías sintéticas (SMOTE): utiliza muestras de la categoría infrarrepresentada para interpolar nuevas muestras minoritarias sintéticas. Para obtener más información sobre SMOTE, consulte la siguiente descripción.

Puede usar todas las transformaciones para conjuntos de datos que contengan características numéricas y no numéricas. SMOTE interpola los valores mediante muestras vecinas. Data Wrangler utiliza la distancia R cuadrada para determinar la vecindad e interpolar las muestras adicionales. Data Wrangler solo usa características numéricas para calcular las distancias entre las muestras del grupo subrepresentado.

Para dos muestras reales del grupo subrepresentado, Data Wrangler interpola las características numéricas mediante un promedio ponderado. Asigna ponderaciones de forma aleatoria a las muestras en el rango de [0, 1]. Para las características numéricas, Data Wrangler interpola las muestras utilizando un promedio ponderado de las muestras. Para las muestras A y B, Data Wrangler podría asignar aleatoriamente una ponderación de 0,7 a A y 0,3 a B. La muestra interpolada tiene un valor de 0,7A + 0,3B.

Data Wrangler interpola las características no numéricas copiándolas de cualquiera de las muestras reales interpoladas. Copie las muestras con una probabilidad que asigna aleatoriamente a cada muestra. Para las muestras A y B, puede asignar probabilidades de 0,8 a A y 0,2 a B. Para las probabilidades que asignó, copia A el 80% del tiempo.

Transformaciones personalizadas

El grupo Transformaciones personalizadas le permite usar Python (función definida por el usuario) PySpark, pandas o PySpark (SQL) para definir transformaciones personalizadas. En las tres opciones, utilice la variable df para acceder al marco de datos al que desee aplicar la transformación. Para aplicar el código personalizado en el marco de datos, asigne el marco de datos a las transformaciones que ha realizado a la variable df. Si no utiliza Python (función definida por el usuario), no es necesario incluir una declaración de retorno. Seleccione Vista previa para obtener una vista previa del resultado de la transformación personalizada. Seleccione Agregar para añadir la transformación personalizada a la lista de Pasos anteriores.

Puede importar las bibliotecas más populares con una instrucción import en el bloque de código de transformación personalizada, como la siguiente:

  • NumPy versión 1.19.0

  • scikit-learn versión 0.23.2

  • SciPy versión 1.5.4

  • pandas versión 1.0.3

  • PySpark versión 3.0.0

importante

La transformación personalizada no admite columnas con espacios ni caracteres especiales en el nombre. Se recomienda especificar nombres de columnas que solo tengan caracteres alfanuméricos y guiones bajos. Puede utilizar la transformación Cambiar nombre de columna en el grupo de transformaciones Administrar columnas, a fin de eliminar los espacios del nombre de una columna. También puede añadir una transformación personalizada de Python (Pandas) similar a la siguiente para eliminar los espacios de varias columnas en un solo paso. En este ejemplo, se cambian las columnas denominadas A column y B column por A_column yB_column, respectivamente.

df.rename(columns={"A column": "A_column", "B column": "B_column"})

Si incluye instrucciones de impresión en el bloque de código, el resultado aparece al seleccionar Vista previa. Puede cambiar el tamaño del panel del transformador de código personalizado. Al cambiar el tamaño del panel, se proporciona más espacio para escribir código. En la imagen siguiente, se muestra el cambio de tamaño del panel.

Para la función Python, sustituya los comentarios de pd.Series por su código.

Las siguientes secciones proporcionan contexto adicional y ejemplos para escribir código de transformación personalizado.

Python (función definida por el usuario)

La función Python le permite escribir transformaciones personalizadas sin necesidad de conocer Apache Spark o pandas. Data Wrangler está optimizado para ejecutar su código personalizado rápidamente. Obtiene un rendimiento similar con el código Python personalizado y un complemento de Apache Spark.

Para usar el bloque de código Python (función definida por el usuario), especifique lo siguiente.

  • Columna de entrada: la columna de entrada en la que aplica la transformación.

  • Modo: el modo de programación, ya sea pandas o Python.

  • Tipo de retorno: el tipo de datos del valor que devolverá.

El uso del modo pandas ofrece un mejor rendimiento. El modo Python facilita la escritura de transformaciones mediante el uso de funciones puras de Python.

En el siguiente vídeo se muestra un ejemplo de cómo utilizar código personalizado para crear una transformación. Utiliza el conjunto de datos del Titanic para crear una columna con el saludo de la persona.

Para la función Python, sustituya los comentarios de pd.Series por su código.

PySpark

El siguiente ejemplo extrae la fecha y la hora de una marca de tiempo.

from pyspark.sql.functions import from_unixtime, to_date, date_format df = df.withColumn('DATE_TIME', from_unixtime('TIMESTAMP')) df = df.withColumn( 'EVENT_DATE', to_date('DATE_TIME')).withColumn( 'EVENT_TIME', date_format('DATE_TIME', 'HH:mm:ss'))

pandas

El siguiente ejemplo proporciona una descripción general del marco de datos al que se van a añadir las transformaciones.

df.info()

PySpark (SQL)

El siguiente ejemplo crea un nuevo marco de datos con cuatro columnas: name, fare, pclass y survived.

SELECT name, fare, pclass, survived FROM df

Si no sabes cómo usarlo PySpark, puedes usar fragmentos de código personalizados para ayudarte a empezar.

Data Wrangler tiene una colección de fragmentos de código con capacidad de búsqueda. Puedes usar fragmentos de código para realizar tareas como colocar columnas, agrupar por columnas o modelar.

Para usar un fragmento de código, seleccione Buscar fragmentos de ejemplo y especifique una consulta en la barra de búsqueda. El texto que especifique en la consulta no tiene por qué coincidir exactamente con el nombre del fragmento de código.

En el siguiente ejemplo, se muestra un fragmento de código Descartar filas duplicadas que puede eliminar filas con datos similares del conjunto de datos. Para encontrar el fragmento de código, busque una de las siguientes opciones:

  • Duplicados

  • Idéntico

  • Remove

El siguiente fragmento contiene comentarios que le ayudarán a comprender los cambios que debe realizar. Para la mayoría de los fragmentos, debe especificar los nombres de las columnas del conjunto de datos en el código.

# Specify the subset of columns # all rows having identical values in these columns will be dropped subset = ["col1", "col2", "col3"] df = df.dropDuplicates(subset) # to drop the full-duplicate rows run # df = df.dropDuplicates()

Para usar un fragmento, copie y pegue su contenido en el campo Transformación personalizada. Puede copiar y pegar varios fragmentos de código en el campo de transformación personalizada.

Fórmula personalizada

Usa una fórmula personalizada para definir una nueva columna mediante una expresión Spark SQL para consultar datos en el marco de datos actual. La consulta debe usar las convenciones de las expresiones Spark SQL.

importante

La fórmula personalizada no admite columnas con espacios ni caracteres especiales en el nombre. Se recomienda especificar nombres de columnas que solo tengan caracteres alfanuméricos y guiones bajos. Puede utilizar la transformación Cambiar nombre de columna en el grupo de transformaciones Administrar columnas, a fin de eliminar los espacios del nombre de una columna. También puede añadir una transformación personalizada de Python (Pandas) similar a la siguiente para eliminar los espacios de varias columnas en un solo paso. En este ejemplo, se cambian las columnas denominadas A column y B column por A_column yB_column, respectivamente.

df.rename(columns={"A column": "A_column", "B column": "B_column"})

Puede utilizar esta transformación para realizar operaciones en las columnas, y puede hacer referencia a las columnas por su nombre. Por ejemplo, supongamos que el marco de datos actual contiene columnas denominadas col_a y col_b; puede utilizar la siguiente operación para generar una columna de salida que sea el producto de estas dos columnas con el siguiente código:

col_a * col_b

Otras operaciones comunes son las siguientes, suponiendo que el marco de datos contenga columnas col_a y col_b:

  • Concatenar dos columnas: concat(col_a, col_b)

  • Añadir dos columnas: col_a + col_b

  • Restar dos columnas: col_a - col_b

  • Dividir dos columnas: col_a / col_b

  • Tomar el valor absoluto de una columna: abs(col_a)

Para obtener más información, consulte la documentación de Spark sobre la selección de datos.

Reducir la dimensionalidad dentro de un conjunto de datos

Reduzca la dimensionalidad de sus datos mediante el análisis de componentes principales (PCA). La dimensionalidad de su conjunto de datos depende de la cantidad de características. Cuando utiliza la reducción de dimensionalidad en Data Wrangler, obtiene un nuevo conjunto de características denominados componentes. Cada componente tiene en cuenta cierta variabilidad en los datos.

El primer componente representa la mayor cantidad de variación en los datos. El segundo componente representa la segunda mayor cantidad de variación en los datos, y así sucesivamente.

Puede utilizar la reducción de dimensionalidad para reducir el tamaño de los conjuntos de datos que utiliza para entrenar los modelos. En lugar de utilizar las características en su conjunto de datos, puede utilizar los componentes principales.

Para realizar la PCA, Data Wrangler crea ejes para sus datos. Un eje es una combinación afín de columnas en su conjunto de datos. El primer componente principal es el valor del eje que tiene la mayor cantidad de varianza. El segundo componente principal es el valor del eje que tiene la segunda mayor cantidad de varianza. El enésimo componente principal es el valor del eje que tiene la enésima cantidad de varianza más alta.

Puede configurar el número de componentes principales que devuelve Data Wrangler. Puede especificar el número de componentes principales directamente o puede especificar el porcentaje del umbral de varianza. Cada componente principal explica una cantidad de varianza en los datos. Por ejemplo, podría tener un componente principal con un valor de 0,5. El componente explicaría el 50 % de la variación de los datos. Al especificar un porcentaje umbral de varianza, Data Wrangler devuelve el menor número de componentes posible que cumple con el porcentaje que especifique.

A continuación, se muestran ejemplos de componentes principales con la cantidad de varianza que explican en los datos.

  • Componente 1: 0,5

  • Componente 2: 0,45

  • Componente 3: 0,05

Si especifica un porcentaje de umbral de varianza de 94 o 95, Data Wrangler devuelve el componente 1 y el componente 2. Si especifica un porcentaje de umbral de varianza de 96, Data Wrangler devuelve los tres componentes principales.

Puede utilizar el siguiente procedimiento para ejecutar el PCA en el conjunto de datos.

Para ejecutar el PCA en el conjunto de datos, haga lo siguiente.

  1. Abra el flujo de datos de Data Wrangler.

  2. Seleccione + y seleccione Agregar transformación.

  3. Seleccione Agregar paso.

  4. Elija Reducción de dimensionalidad.

  5. En Columnas de entrada, elija las características que va a reducir en los componentes principales.

  6. (Opcional) En Número de componentes principales, elija el número de componentes principales que Data Wrangler devuelve en su conjunto de datos. Si especifica un valor para el campo, no podrá especificar un valor para el porcentaje del umbral de varianza.

  7. (Opcional) En el porcentaje del umbral de varianza, especifique el porcentaje de variación de los datos que desea que expliquen los componentes principales. Data Wrangler utiliza el valor predeterminado de 95 si no especifica un valor para el umbral de varianza. No puede especificar un porcentaje de umbral de varianza si ha especificado un valor para el número de componentes principales.

  8. (Opcional) Deseleccione Centrar para no usar la media de las columnas como centro de los datos. De forma predeterminada, Data Wrangler centra los datos con la media antes de escalarlos.

  9. (Opcional) Deseleccione Escala para no escalar los datos con la desviación estándar de la unidad.

  10. (Opcional) Elija Columnas para generar los componentes en columnas separadas. Elija Vector para generar los componentes como un vector único.

  11. (Opcional) En Columna de salida, especifique un nombre para la columna de salida. Si va a enviar los componentes a columnas independientes, el nombre que especifique es un prefijo. Si va a generar los componentes en un vector, el nombre que especifique es el nombre de la columna vectorial.

  12. (Opcional) Seleccione Conservar columnas de entrada. No recomendamos seleccionar esta opción si planea usar solo los componentes principales para entrenar el modelo.

  13. Seleccione Preview (Versión preliminar).

  14. Elija Añadir.

Codificar categóricos

Los datos categóricos suelen estar compuestos por un número finito de categorías, donde cada categoría se representa con una cadena. Por ejemplo, si tiene una tabla de datos de clientes, una columna que indica el país en el que vive una persona es categórica. Las categorías serían Afganistán, Albania, Argelia, etc. Los datos categóricos pueden ser nominales u ordinales. Las categorías ordinales tienen un orden inherente, pero las categorías nominales no. El grado de educación más alto obtenido (bachillerato, licenciatura, máster, etc.) es un ejemplo de categorías ordinales.

La codificación de datos categóricos es el proceso de crear una representación numérica de las categorías. Por ejemplo, si sus categorías son Perro y Gato, puede codificar esta información en dos vectores: [1,0] para representar a Perro y [0,1] para representar a Gato.

Al codificar categorías ordinales, es posible que necesite traducir el orden natural de las categorías a su codificación. Por ejemplo, puede representar el grado más alto obtenido con el siguiente mapa: {"High school": 1, "Bachelors": 2, "Masters":3}.

Utilice la codificación categórica para codificar datos categóricos en formato de cadena en matrices de enteros.

Los codificadores categóricos de Data Wrangler crean codificaciones para todas las categorías que existen en una columna en el momento en que se define el paso. Si se han agregado nuevas categorías a una columna al iniciar un trabajo de Data Wrangler para procesar el conjunto de datos en el momento t y esa columna era la entrada para una transformación de codificación categórica de Data Wrangler en el momento t-1, esas nuevas categorías se consideran ausentes en el trabajo de Data Wrangler. La opción que seleccione para estrategia de gestión no válida se aplica a estos valores que faltan. Algunos ejemplos de situaciones en las que esto puede ocurrir:

  • Cuando se utiliza un archivo .flow para crear un trabajo de Data Wrangler a fin de procesar un conjunto de datos que se actualizó tras la creación del flujo de datos. Por ejemplo, puedes usar un flujo de datos para procesar regularmente los datos de ventas cada mes. Si los datos de ventas se actualizan semanalmente, es posible que se introduzcan nuevas categorías en las columnas para las que se defina un paso categórico de codificación.

  • Al seleccionar el muestreo al importar el conjunto de datos, es posible que algunas categorías queden fuera de la muestra.

En estas situaciones, estas nuevas categorías se consideran valores ausentes en el trabajo de Data Wrangler.

Puede elegir y configurar una codificación ordinal y una codificación One-Hot. Utilice las siguientes secciones para obtener más información sobre estas opciones.

Ambas transformaciones crean una nueva columna llamada Nombre de columna de salida. El formato de salida de esta columna se especifica con Estilo de salida:

  • Seleccione Vector para producir una sola columna con un vector disperso.

  • Seleccione Columnas para crear una columna para cada categoría con una variable indicadora de si el texto de la columna original contiene un valor igual a esa categoría.

Codificación ordinal

Seleccione Codificación ordinal para codificar las categorías en un número entero entre 0 y el número total de categorías de la columna de entrada que seleccione.

Estrategia de administración no válida: seleccione un método para gestionar los valores no válidos o ausentes.

  • Elija Omitir si desea omitir las filas en las que falten valores.

  • Elija Conservar para retener los valores faltantes como última categoría.

  • Seleccione Error si desea que Data Wrangler arroje un error si se encuentran valores faltantes en la columna de entrada.

  • Elija Reemplazar por NaN para reemplazar lo que falte por NaN. Se recomienda utilizar esta opción si el algoritmo ML puede gestionar los valores faltantes. De lo contrario, las tres primeras opciones de esta lista pueden producir mejores resultados.

Codificación One-Hot

Seleccione Codificación One-Hot para que Transform utilice la codificación One-Hot. Para configurar esta transformación, haga lo siguiente:

  • Descartar la última categoría: si es True, la última categoría no tiene un índice correspondiente en la codificación One-Hot. Cuando es posible que falten valores, una categoría ausente siempre será la última; si se establece esto en True, un valor ausente dará como resultado un vector completamente cero.

  • Estrategia de administración no válida: seleccione un método para gestionar los valores no válidos o ausentes.

    • Elija Omitir si desea omitir las filas en las que falten valores.

    • Elija Conservar para retener los valores faltantes como última categoría.

    • Seleccione Error si desea que Data Wrangler arroje un error si se encuentran valores faltantes en la columna de entrada.

  • Entrada con codificación ordinal: seleccione esta opción si el vector de entrada contiene datos con codificación ordinal. Esta opción requiere que los datos de entrada contengan números enteros no negativos. Si es Verdadero, la entrada i se codifica como un vector con un valor distinto de cero en la ubicación número i.

Codificación por similitud

Utilice la codificación por similitud cuando tenga lo siguiente:

  • Un gran número de variables categóricas

  • Datos con ruido

El codificador por similitud crea incrustaciones para columnas con datos categóricos. Una integración es una asignación de objetos discretos, como palabras, a vectores de números reales. Codifica cadenas similares a vectores que contienen valores similares. Por ejemplo, crea codificaciones muy similares para “California” y “Calfornia”.

Data Wrangler convierte cada categoría de su conjunto de datos en un conjunto de tokens mediante un tokenizador de 3 gramos. Convierte los tokens en una incrustación mediante la codificación MinHash.

En el siguiente ejemplo, se muestra cómo crea vectores el codificador por similitud a partir de cadenas.

Características de las codificaciones por similitud que crea Data Wrangler:

  • Tienen una dimensionalidad baja.

  • Son escalables a un gran número de categorías.

  • Son robustas y resistentes al ruido.

Por las razones anteriores, la codificación por similitud es más versátil que la codificación centralizada.

Para agregar la transformación de codificación por similitud en su conjunto de datos, utilice el siguiente procedimiento.

Para utilizar la codificación por similitud, haga lo siguiente.

  1. Inicia sesión en Amazon SageMaker Console.

  2. Elige Open Studio Classic.

  3. Elija Lanzar aplicación.

  4. Elija Studio.

  5. Especifique su flujo de datos.

  6. Elija un paso con una transformación.

  7. Seleccione Agregar paso.

  8. Elija Codificar categóricos.

  9. Especifique lo siguiente:

    • Transformar: codificación por similitud

    • Columna de entrada: la columna que contiene los datos categóricos que está codificando.

    • Dimensión de destino: la dimensión del vector de incrustación categórica (opcional). El valor predeterminado es 30. Recomendamos usar una dimensión de destino más grande si tiene un conjunto de datos grande con muchas categorías.

    • Estilo de salida: elija Vector para un único vector con todos los valores codificados. Elija Columna para tener los valores codificados en columnas separadas.

    • Columna de salida: el nombre de la columna de salida para una salida codificada vectorial (opcional). En el caso de una salida codificada por columnas, este es el prefijo de los nombres de las columnas seguido del número indicado.

Caracterización del texto

Utilice el grupo de transformaciones Caracterizar texto para inspeccionar las columnas de tipo cadena y utilizar la incrustación de texto a fin de caracterizar estas columnas.

Este grupo de características contiene dos características: Estadísticas de caracteres y Vectorizar. Utilice las siguientes secciones para obtener más información sobre estas transformaciones. Para ambas opciones, la columna de entrada debe contener datos de texto (tipo cadena).

Estadísticas de caracteres

Utilice Estadísticas de caracteres para generar estadísticas para cada fila de una columna que contenga datos de texto.

Esta transformación calcula las siguientes proporciones y recuentos para cada fila y crea una nueva columna para informar del resultado. La nueva columna recibe el nombre de la columna de entrada como prefijo y un sufijo específico de la proporción o el recuento.

  • Número de palabras: el número total de palabras de esa fila. El sufijo de esta columna de salida es -stats_word_count.

  • Número de caracteres: el número total de caracteres de esa fila. El sufijo de esta columna de salida es -stats_char_count.

  • Proporción de mayúsculas: el número de caracteres en mayúscula, de la A a la Z, dividido entre todos los caracteres de la columna. El sufijo de esta columna de salida es -stats_capital_ratio.

  • Proporción de minúsculas: el número de caracteres en minúscula, de la a a la z, dividido entre todos los caracteres de la columna. El sufijo de esta columna de salida es -stats_lower_ratio.

  • Proporción de dígitos: la relación entre los dígitos de una sola fila y la suma de los dígitos de la columna de entrada. El sufijo de esta columna de salida es -stats_digit_ratio.

  • Proporción de caracteres especiales: proporción entre caracteres no alfanuméricos (como #$&%: @) y la suma de todos los caracteres de la columna de entrada. El sufijo de esta columna de salida es -stats_special_ratio.

Vectorizar

La incrustación de texto implica asignar palabras o frases de un vocabulario a vectores de números reales. Utilice la transformación de incrustación de texto de Data Wrangler para tokenizar y vectorizar datos de texto en vectores de frecuencia de término/frecuencia inversa de documento (TF-IDF).

Cuando se calcula la TF-IDF para una columna de datos de texto, cada palabra de cada oración se convierte en un número real que representa su importancia semántica. Los números más altos se asocian a palabras menos frecuentes, que suelen ser más significativas.

Al definir un paso de transformación Vectorizar, Data Wrangler utiliza los datos de su conjunto de datos para definir el vectorizador de recuento y los métodos TF-IDF. Al ejecutar un trabajo de Data Wrangler, se utilizan estos mismos métodos.

Para usar esta transformación, configure lo siguiente:

  • Nombre de la columna de salida: esta transformación crea una nueva columna con el texto incrustado. Utilice este campo para especificar un nombre para esta columna de salida.

  • Tokenizador: un tokenizador convierte la oración en una lista de palabras o tokens.

    Elija Estándar para usar un tokenizador que divida por espacios en blanco y convierta cada palabra en minúsculas. Por ejemplo, "Good dog" está tokenizado a ["good","dog"].

    Elija Personalizado para usar un tokenizador personalizado. Si elige Personalizado, puede usar los siguientes campos para configurar el tokenizador.

    • Longitud mínima del token: la longitud mínima, en caracteres, para que un token sea válido. El valor predeterminado es 1. Por ejemplo, si especifica 3 como longitud mínima del token, las palabras como a, at, in se eliminarán de la oración tokenizada.

    • Si la expresión regular se divide en huecos: si se selecciona esta opción, la expresión regular se divide en espacios. De lo contrario, se ajusta a los tokens. El valor predeterminado es True.

    • Patrón de expresiones regulares: el patrón de expresiones regulares que define el proceso de tokenización. El valor predeterminado es ' \\ s+'.

    • A minúsculas: si se selecciona, Data Wrangler convierte todos los caracteres a minúsculas antes de la tokenización. El valor predeterminado es True.

    Para obtener más información, consulte la documentación de Spark en Tokenizer.

  • Vectorizador: el vectorizador convierte la lista de tokens en un vector numérico disperso. Cada token corresponde a un índice del vector, y un valor distinto de cero indica la existencia del token en la oración de entrada. Puede elegir entre dos opciones de vectorización: Recuento y Hashing.

    • Vectorización de recuento permite personalizaciones con las que filtrar tokens poco frecuentes o demasiado comunes. Los parámetros de Vectorización de recuento son los siguientes.

      • Frecuencia mínima de términos: en cada fila, se filtran los términos (tokens) con una frecuencia menor. Si especifica un número entero, se trata de un umbral absoluto (inclusivo). Si especifica una fracción entre 0 y 1 (ambos incluidos), el umbral es relativo al recuento total de términos. El valor predeterminado es 1.

      • Frecuencia mínima de documentos: número mínimo de filas en las que debe aparecer un término (token) para poder incluirlo. Si especifica un número entero, se trata de un umbral absoluto (inclusivo). Si especifica una fracción entre 0 y 1 (ambos incluidos), el umbral es relativo al recuento total de términos. El valor predeterminado es 1.

      • Frecuencia máxima de documentos: número máximo de documentos (filas) en los que puede aparecer un término (token) para ser incluido. Si especifica un número entero, se trata de un umbral absoluto (inclusivo). Si especifica una fracción entre 0 y 1 (ambos incluidos), el umbral es relativo al recuento total de términos. El valor predeterminado es 0.999.

      • Tamaño máximo del vocabulario: tamaño máximo del vocabulario. El vocabulario se compone de todos los términos (tokens) de todas las filas de la columna. El valor predeterminado es 262144.

      • Salidas binarias: si se selecciona, las salidas vectoriales no incluyen el número de apariciones de un término en un documento, sino que son un indicador binario de su presencia. El valor predeterminado es False.

      Para obtener más información sobre esta opción, consulta la documentación de Spark en. CountVectorizer

    • El Hashing es computacionalmente más rápido. Los parámetros de Vectorización de hashing son los siguientes.

      • Número de características durante el hashing: un vectorizador de hashing asigna los tokens a un índice vectorial según su valor de hash. Esta característica determina el número de valores de hash posibles. Los valores grandes dan como resultado menos colisiones entre los valores hash, pero un vector de salida de mayor dimensión.

      Para obtener más información sobre esta opción, consulta la documentación de Spark en FeatureHasher

  • Apply IDF aplica una transformación IDF, que multiplica la frecuencia de término por la frecuencia inversa de documento estándar utilizada para la incrustación TF-IDF. Los parámetros de IDF son los siguientes.

    • Frecuencia mínima de documentos: número mínimo de documentos (filas) en las que debe aparecer un término (token) para poder incluirlo. Si el vectorizador elegido es count_vectorize, le recomendamos que mantenga el valor predeterminado y que solo modifique el campo min_doc_freq en los parámetros de Count vectorize. El valor predeterminado es 5.

  • Formato de salida: el formato de salida de cada fila.

    • Seleccione Vector para producir una sola columna con un vector disperso.

    • Seleccione Plano para crear una columna para cada categoría con una variable indicadora de si el texto de la columna original contiene un valor igual a esa categoría. Solo puede elegir Plano si Vectorizador está configurado como Vectorizador de recuento.

Transformar series temporales

En Data Wrangler puede transformar datos de serie temporal. Los valores de un conjunto de datos de series temporales están indexados en función de un tiempo específico. Por ejemplo, un conjunto de datos que muestra el número de clientes en una tienda por cada hora del día es un conjunto de datos de series temporales. En la siguiente tabla, se muestra un ejemplo de un conjunto de datos de series temporales.

Número de clientes por hora en una tienda
Número de clientes Hora (hora)
4 09:00
10 10:00
14 11:00
25 12:00
20 13:00
18 14:00

En la tabla anterior, la columna Número de clientes contiene los datos de serie temporal. Los datos de serie temporal se indexan en función de los datos horarios de la columna Hora.

Es posible que necesite realizar una serie de transformaciones en los datos para ponerlos en un formato que pueda utilizar en el análisis. Utilice el grupo de transformaciones Series temporales para transformar los datos de series temporales. Para obtener más información acerca de las transformaciones que puede realizar, consulte las siguientes secciones.

Agrupación por serie temporal

Puede utilizar el agrupamiento por operación para agrupar los datos de series temporales para valores específicos de una columna.

Por ejemplo, tiene la siguiente tabla que registra el consumo medio diario de electricidad en un domicilio.

Consumo medio diario de electricidad en un domicilio
ID del domicilio Marca de tiempo diaria Consumo de electricidad (kWh) Número de ocupantes del domicilio
household_0 1/1/2020 30 2
household_0 1/2/2020 40 2
household_0 1/4/2020 35 3
household_1 1/2/2020 45 3
household_1 1/3/2020 55 4

Si elige agrupar por ID, obtendrá la siguiente tabla.

El consumo de electricidad se agrupa por ID de domicilio
ID del domicilio Serie de consumo de electricidad (kWh) Serie de número de ocupantes del domicilio
household_0 [30, 40, 35] [2, 2, 3]
household_1 [45, 55] [3, 4]

Cada entrada de la secuencia de series temporales está ordenada por la marca de tiempo correspondiente. El primer elemento de la secuencia corresponde a la primera marca de tiempo de la serie. Para household_0, 30 es el primer valor de la Serie de consumo de electricidad. El valor de 30 corresponde a la primera marca de tiempo de 1/1/2020.

Puede incluir la marca de tiempo inicial y la marca de tiempo final. En la siguiente tabla, se muestra cómo aparece esa información.

El consumo de electricidad se agrupa por ID de domicilio
ID del domicilio Serie de consumo de electricidad (kWh) Serie de número de ocupantes del domicilio Start_time End_time
household_0 [30, 40, 35] [2, 2, 3] 1/1/2020 1/4/2020
household_1 [45, 55] [3, 4] 1/2/2020 1/3/2020

Puede utilizar el siguiente procedimiento para agrupar por una columna de series temporales.

  1. Abra el flujo de datos de Data Wrangler.

  2. Si no ha importado su conjunto de datos, hágalo desde la pestaña Importar datos.

  3. En el flujo de datos, en Tipos de datos, elija el signo + y seleccione Agregar transformación.

  4. Seleccione Agregar paso.

  5. Seleccione Serie temporal.

  6. En Transformar, elija Agrupar por.

  7. Especifique una columna en Agrupar por esta columna.

  8. En Aplicar a columnas, especifique un valor.

  9. Elija Vista previa para generar una vista previa del análisis.

  10. Elija Agregar para agregar la transformación al flujo de datos de Data Wrangler.

Remuestreo de datos de series temporales

Los datos de series temporales suelen contener observaciones que no se toman a intervalos regulares. Por ejemplo, un conjunto de datos puede tener algunas observaciones que se registran cada hora y otras observaciones que se registran cada dos horas.

Muchos análisis, como los algoritmos de pronóstico, requieren que las observaciones se realicen a intervalos regulares. El remuestreo le permite establecer intervalos regulares para las observaciones de su conjunto de datos.

Puede aumentar o reducir el muestreo de una serie temporal. La reducción del muestreo aumenta el intervalo entre las observaciones del conjunto de datos. Por ejemplo, si reduce el muestreo de las observaciones que se realizan cada hora o cada dos horas, cada observación del conjunto de datos se realiza cada dos horas. Las observaciones horarias se agregan en un único valor mediante un método de agregación, como la media o la mediana.

El aumento del muestreo reduce el intervalo entre las observaciones del conjunto de datos. Por ejemplo, si aumenta el muestreo de las observaciones que se toman cada dos horas para convertirlas en observaciones por hora, puede usar un método de interpolación para inferir las observaciones por hora a partir de las que se han realizado cada dos horas. Para obtener información sobre los métodos de interpolación, consulte pandas. DataFrame.interpolar.

Puede volver a muestrear datos numéricos y no numéricos.

Utilice la operación Remuestreo para volver a muestrear los datos de series temporales. Si tiene varias series temporales en su conjunto de datos, Data Wrangler estandariza el intervalo de tiempo para cada serie temporal.

En la siguiente tabla, se muestra un ejemplo de reducción del muestreo de datos de series temporales utilizando la media como método de agregación. Los datos del muestreo se reducen de cada dos horas a cada hora.

Lecturas de temperatura por hora durante un día antes de la reducción de muestreo
Timestamp Temperatura (Celsius)
12:00 30
1:00 32
2:00 35
3:00 32
4:00 30
Las lecturas de temperatura se redujeron a cada dos horas
Timestamp Temperatura (Celsius)
12:00 30
2:00 33,5
4:00 35

Puede utilizar el siguiente procedimiento para volver a muestrear datos de serie temporal.

  1. Abra el flujo de datos de Data Wrangler.

  2. Si no ha importado su conjunto de datos, hágalo desde la pestaña Importar datos.

  3. En el flujo de datos, en Tipos de datos, elija el signo + y seleccione Agregar transformación.

  4. Seleccione Agregar paso.

  5. Seleccione Remuestrear.

  6. En Marca temporal, elija la columna timestamp.

  7. En Unidad de frecuencia, especifique la frecuencia que va a volver a muestrear.

  8. (Opcional) Especifique un valor para la Cantidad de frecuencia.

  9. Configure la transformación especificando los campos restantes.

  10. Elija Vista previa para generar una vista previa del análisis.

  11. Elija Agregar para agregar la transformación al flujo de datos de Data Wrangler.

Gestión de datos ausentes de series temporales

Si faltan valores en el conjunto de datos, puede elegir una de las siguientes opciones:

  • En el caso de los conjuntos de datos que tienen varias series temporales, elimine las series temporales en las que faltan valores superiores al umbral que especifique.

  • Impute los valores faltantes en una serie temporal utilizando otros valores de la serie temporal.

La imputación de un valor faltante implica reemplazar los datos especificando un valor o utilizando un método inferencial. Estos son los métodos que puede utilizar para la imputación.

  • Valor constante: reemplaza todos los datos que faltan en su conjunto de datos por un valor que especifique.

  • Valor más común: reemplaza todos los datos que faltan por el valor que tenga la frecuencia más alta en el conjunto de datos.

  • Rellenar hacia delante: utilice un relleno hacia delante para reemplazar los valores faltantes por el valor no faltante que precede a los valores faltantes. En la secuencia [2, 4, 7, NaN, NaN, NaN, 8], todos los valores faltantes se sustituyen por 7. La secuencia que resulta del uso de un relleno hacia delante es [2, 4, 7, 7, 7, 7, 8].

  • Rellenar hacia atrás: utilice un relleno hacia detrás para reemplazar los valores faltantes por el valor no faltante que sigue a los valores faltantes. En la secuencia [2, 4, 7, NaN, NaN, NaN, 8], todos los valores faltantes se sustituyen por 8. La secuencia que resulta del uso de un relleno hacia atrás es [2, 4, 7, 8, 8, 8, 8].

  • Interpolar: utilice una función de interpolación para imputar los valores faltantes. Para obtener más información sobre las funciones que puede utilizar para la interpolación, consulte pandas. DataFrame.interpolar.

Es posible que algunos de los métodos de imputación no puedan imputar todo el valor que falta en el conjunto de datos. Por ejemplo, Rellenar hacia delante no puede imputar un valor faltante que aparezca al principio de la serie temporal. Puede imputar los valores utilizando un relleno hacia delante o hacia atrás.

Puede imputar los valores faltantes en una celda o en una columna.

En el siguiente ejemplo, se muestra cómo se imputan los valores dentro de una celda.

Consumo de electricidad con valores faltantes
ID del domicilio Serie de consumo de electricidad (kWh)
household_0 [30, 40, 35, NaN, NaN]
household_1 [45, NaN, 55]
Consumo de electricidad con valores imputados mediante un relleno hacia delante
ID del domicilio Serie de consumo de electricidad (kWh)
household_0 [30, 40, 35, 35, 35]
household_1 [45, 45, 55]

En el siguiente ejemplo, se muestra cómo se imputan los valores dentro de una columna.

Consumo medio diario de electricidad de un domicilio con valores faltantes
ID del domicilio Consumo de electricidad (kWh)
household_0 30
household_0 40
household_0 NaN
household_1 NaN
household_1 NaN
Consumo medio diario de electricidad en un domicilio, con valores imputados mediante un relleno hacia delante
ID del domicilio Consumo de electricidad (kWh)
household_0 30
household_0 40
household_0 40
household_1 40
household_1 40

Puede utilizar el siguiente procedimiento para gestionar los valores que faltan.

  1. Abra el flujo de datos de Data Wrangler.

  2. Si no ha importado su conjunto de datos, hágalo desde la pestaña Importar datos.

  3. En el flujo de datos, en Tipos de datos, elija el signo + y seleccione Agregar transformación.

  4. Seleccione Agregar paso.

  5. Elija Manejo de ausentes.

  6. Para el tipo de entrada de series temporales, elija si desea gestionar los valores faltantes dentro de una celda o a lo largo de una columna.

  7. En Imputar valores faltantes para esta columna, especifique la columna que tiene los valores faltantes.

  8. En Método para imputar valores, seleccione un método.

  9. Configure la transformación especificando los campos restantes.

  10. Elija Vista previa para generar una vista previa del análisis.

  11. Si faltan valores, puede especificar un método para imputarlos en Método para imputar valores.

  12. Elija Agregar para agregar la transformación al flujo de datos de Data Wrangler.

Validar la marca de tiempo de sus datos de series temporales

Es posible que tenga datos de marca de tiempo que no sean válidos. Puede usar la función Validar marca de tiempo para determinar si las marcas de tiempo de su conjunto de datos son válidas. La marca de tiempo puede no ser válida por uno o varios de los motivos siguientes:

  • Faltan valores en la columna de marca de tiempo.

  • Los valores de la columna de marca de tiempo no tienen el formato correcto.

Si tiene marcas de tiempo no válidas en su conjunto de datos, no podrá realizar el análisis correctamente. Puede usar Data Wrangler para identificar las marcas de tiempo no válidas y saber dónde debe limpiar sus datos.

La validación de series temporales funciona de dos maneras:

Puede configurar Data Wrangler para realizar una de las siguientes acciones si encuentra valores faltantes en el conjunto de datos:

  • Descarte las filas en las que falten valores o haya valores no válidos.

  • Identifique las filas en las que falten valores o haya valores no válidos.

  • Lance un error si encuentra algún valor faltante o no válido en el conjunto de datos.

Puede validar las marcas de tiempo en las columnas del tipo timestamp o string. Si la columna tiene el tipo string, Data Wrangler convierte el tipo de columna a timestamp y realiza la validación.

Puede utilizar el siguiente procedimiento para validar las marcas de tiempo de su conjunto de datos.

  1. Abra el flujo de datos de Data Wrangler.

  2. Si no ha importado su conjunto de datos, hágalo desde la pestaña Importar datos.

  3. En el flujo de datos, en Tipos de datos, elija el signo + y seleccione Agregar transformación.

  4. Seleccione Agregar paso.

  5. Seleccione Validar marcas de tiempo.

  6. En Columna marca de tiempo, elija la columna marca de tiempo.

  7. En Política, elija si desea gestionar las marcas de tiempo que faltan.

  8. (Opcional) En Columna de salida, especifique un nombre para la columna de salida.

  9. Si la columna de fecha y hora está formateada para el tipo de cadena, elija Transmitir a fecha y hora.

  10. Elija Vista previa para generar una vista previa del análisis.

  11. Elija Agregar para agregar la transformación al flujo de datos de Data Wrangler.

Estandarizar la longitud de las series temporales

Si tiene datos de series temporales almacenados como matrices, puede estandarizar cada serie temporal con la misma longitud. La estandarización de la longitud de la matriz de series temporales podría facilitar la realización del análisis de los datos.

Puede estandarizar las series temporales para las transformaciones de datos que requieren que la longitud de los datos sea fija.

Muchos algoritmos de ML requieren que aplane los datos de las series temporales antes de usarlos. Aplanar los datos de series temporales consiste en separar cada valor de la serie temporal en su propia columna de un conjunto de datos. El número de columnas de un conjunto de datos no puede cambiar, por lo que es necesario estandarizar las longitudes de las series temporales antes de aplanar cada matriz en un conjunto de características.

Cada serie temporal se establece de acuerdo con la longitud que se especifique como cuantil o percentil del conjunto de series temporales. Por ejemplo, puede tener tres secuencias que tengan las siguientes longitudes:

  • 3

  • 4

  • 5

Puede establecer la longitud de todas las secuencias como la longitud de la secuencia que tenga la longitud del percentil número 50.

A las matrices de series temporales que son más cortas que la longitud que especificó se les agregan los valores faltantes. Lo que sigue es un ejemplo de formato de estandarización de la serie temporal a una longitud mayor: [2, 4, 5, NaN, NaN].

Puede utilizar diferentes métodos para gestionar los valores faltantes. Para obtener más información sobre estos métodos, consulte Gestión de datos ausentes de series temporales.

Las matrices de series temporales que son más largas que la longitud especificada se truncan.

Puede utilizar el siguiente procedimiento para estandarizar la longitud de la serie temporal.

  1. Abra el flujo de datos de Data Wrangler.

  2. Si no ha importado su conjunto de datos, hágalo desde la pestaña Importar datos.

  3. En el flujo de datos, en Tipos de datos, elija el signo + y seleccione Agregar transformación.

  4. Seleccione Agregar paso.

  5. Elija Estandarizar longitud.

  6. En Estandarizar la longitud de la serie temporal de la columna, elija una columna.

  7. (Opcional) En Columna de salida, especifique un nombre para la columna de salida. Si no especifica un nombre, la transformación se realiza en ese lugar.

  8. Si la columna de fecha y hora está formateada para el tipo de cadena, elija Transmitir a fecha y hora.

  9. Elija un Cuantil de corte y especifique un cuantil para establecer la longitud de la secuencia.

  10. Seleccione Aplanar la salida para extraer los valores de la serie temporal en columnas independientes.

  11. Elija Vista previa para generar una vista previa del análisis.

  12. Elija Agregar para agregar la transformación al flujo de datos de Data Wrangler.

Extracción de características a partir de datos de series temporales

Si está ejecutando un algoritmo de clasificación o regresión en los datos de series temporales, le recomendamos que extraiga las características de las series temporales antes de ejecutar el algoritmo. La extracción de características podría mejorar el rendimiento del algoritmo.

Utilice las siguientes opciones para elegir cómo desea extraer las características de los datos:

  • Utilice el subconjunto mínimo para especificar la extracción de 8 características que usted considere útiles para los análisis posteriores. Puede utilizar un subconjunto mínimo cuando necesite realizar cálculos rápidamente. También puede usarlo cuando su algoritmo de ML tenga un alto riesgo de sobreajuste y desee proporcionarle menos características.

  • Utilice el subconjunto eficiente para especificar la extracción de la mayor cantidad de posible de características sin extraer en sus análisis las características que requieran un uso intensivo de recursos computacionales.

  • Utilice Todas las características para especificar la extracción de todas las características de la serie de ajustes.

  • Utilice el subconjunto manual para elegir una lista de características que, en su opinión, explican bien la variación de los datos.

Utilice el siguiente procedimiento para extraer características de los datos de series temporales.

  1. Abra el flujo de datos de Data Wrangler.

  2. Si no ha importado su conjunto de datos, hágalo desde la pestaña Importar datos.

  3. En el flujo de datos, en Tipos de datos, elija el signo + y seleccione Agregar transformación.

  4. Seleccione Agregar paso.

  5. Seleccione Extraer características.

  6. En Extraer características para esta columna, seleccione una columna.

  7. (Opcional) Seleccione Aplanar para extraer las características en columnas independientes.

  8. En Estrategia, elija una estrategia para extraer las características.

  9. Elija Vista previa para generar una vista previa del análisis.

  10. Elija Agregar para agregar la transformación al flujo de datos de Data Wrangler.

Uso de características desfasadas en los datos de series temporales

En muchos casos de uso, la mejor manera de predecir el comportamiento futuro de una serie temporal es usar su comportamiento más reciente.

Los usos más comunes de las características desfasadas son los siguientes:

  • Recopilación de algunos valores pasados. Por ejemplo, para el tiempo t + 1, se recopila t, t - 1, t - 2 y t - 3.

  • Recopilación de valores que corresponden al comportamiento estacional de los datos. Por ejemplo, para predecir la ocupación de un restaurante a las 13:00 horas, puede utilizar las características a partir de las 13:00 horas del día anterior. El uso de las características a partir de las 12:00 o las 11:00 del mismo día puede no ser tan predictivo como el uso de las características de los días anteriores.

  1. Abra el flujo de datos de Data Wrangler.

  2. Si no ha importado su conjunto de datos, hágalo desde la pestaña Importar datos.

  3. En el flujo de datos, en Tipos de datos, elija el signo + y seleccione Agregar transformación.

  4. Seleccione Agregar paso.

  5. Seleccione Características con retraso.

  6. En Generar características con retraso para esta columna, seleccione una columna.

  7. En Columna marca de tiempo, elija la columna con las marcas de tiempo.

  8. En Retraso, especifique la duración del retraso.

  9. (Opcional) Configure la salida mediante una de las siguientes opciones:

    • Incluir toda el plazo de retraso

    • Aplanar la salida

    • Descartar filas sin historial

  10. Elija Vista previa para generar una vista previa del análisis.

  11. Elija Agregar para agregar la transformación al flujo de datos de Data Wrangler.

Crear un rango de fecha y hora en su serie temporal

Es posible que tenga datos de series temporales que no tengan marcas de tiempo. Si sabe que las observaciones se realizaron a intervalos regulares, puede generar marcas temporales para las series temporales en una columna independiente. Para generar marcas de tiempo, especifique el valor de la marca de tiempo de inicio y la frecuencia de las marcas de tiempo.

Por ejemplo, puede tener los siguientes datos de series temporales para el número de clientes de un restaurante.

Datos de series temporales sobre el número de clientes de un restaurante
Número de clientes
10
14
24
40
30
20

Si sabe que el restaurante abre a las 17:00 y que las observaciones se realizan cada hora, puede añadir una columna de fecha y hora que corresponda a los datos de la serie temporal. Puede consultar la columna de marca de tiempo en la siguiente tabla.

Datos de series temporales sobre el número de clientes de un restaurante
Número de clientes Timestamp
10 13:00
14 14:00
24 15:00
40 16:00
30 17:00
20 18:00

Utilice el siguiente procedimiento para agregar un rango de fechas y horas a los datos.

  1. Abra el flujo de datos de Data Wrangler.

  2. Si no ha importado su conjunto de datos, hágalo desde la pestaña Importar datos.

  3. En el flujo de datos, en Tipos de datos, elija el signo + y seleccione Agregar transformación.

  4. Seleccione Agregar paso.

  5. Elija un rango de fecha y hora.

  6. En Tipo de frecuencia, elija la unidad utilizada para medir la frecuencia de las marcas de tiempo.

  7. En Marca de tiempo de inicio, especifique la marca de tiempo de inicio.

  8. En Columna de salida, especifique un nombre para la columna de salida.

  9. (Opcional) Configure la salida con los campos restantes.

  10. Elija Vista previa para generar una vista previa del análisis.

  11. Elija Agregar para agregar la transformación al flujo de datos de Data Wrangler.

Uso de periodos móviles en series temporales

Puede extraer características a lo largo de un periodo de tiempo. Por ejemplo, para el tiempo t (con una longitud de periodo temporal de 3), para la fila que indica la marca temporal número t, agregamos las características que se extraen de la serie temporal en los momentos t - 3, t -2 y t - 1. Para obtener información sobre la extracción de características, consulte Extracción de características a partir de datos de series temporales.

Puede utilizar el siguiente procedimiento para extraer características durante un periodo de tiempo.

  1. Abra el flujo de datos de Data Wrangler.

  2. Si no ha importado su conjunto de datos, hágalo desde la pestaña Importar datos.

  3. En el flujo de datos, en Tipos de datos, elija el signo + y seleccione Agregar transformación.

  4. Seleccione Agregar paso.

  5. Seleccione las Características de periodo móvil.

  6. En Generar características de periodo móvil para esta columna, seleccione una columna.

  7. En Columna marca de tiempo, elija la columna con las marcas de tiempo.

  8. (Opcional) En Columna de salida, especifique un nombre para la columna de salida.

  9. En Tamaño del periodo, especifique el tamaño del periodo.

  10. En Estrategia, elija una estrategia de extracción.

  11. Elija Vista previa para generar una vista previa del análisis.

  12. Elija Agregar para agregar la transformación al flujo de datos de Data Wrangler.

Caracterizar la fecha y la hora

Utilice Caracterizar fecha/hora para crear una incrustación vectorial que represente un campo de fecha y hora. Para utilizar esta transformación, los datos de fecha y hora deben estar en uno de los siguientes formatos.

  • Cadenas que describen la fecha y hora, como "January 1st, 2020, 12:44pm".

  • Una marca de tiempo de Unix: una marca de tiempo de Unix describe el número de segundos, milisegundos, microsegundos o nanosegundos desde el 1 de enero de 1970.

Puede elegir Inferir el formato de fecha y hora y proporcionar un Formato de fecha y hora. Si proporciona un formato de fecha y hora, debe usar los códigos descritos en la documentación de Python. Las opciones que seleccione para estas dos configuraciones tienen implicaciones en la velocidad de la operación y en los resultados finales.

  • La opción más manual y rápida desde el punto de vista computacional es especificar un formato de fecha y hora y seleccionar No en Inferir el formato de fecha y hora.

  • Para reducir el trabajo manual, puede elegir Inferir el formato de fecha y hora en lugar de especificar un formato de fecha y hora. También es una operación rápida desde el punto de vista computacional; sin embargo, asume que el primer formato de fecha y hora que se encuentre en la columna de entrada será el formato de toda la columna. Si hay otros formatos en la columna, estos valores son NaN en la salida final. Si se infiere el formato de fecha y hora, se pueden obtener cadenas sin analizar.

  • Si no especifica un formato y selecciona No para inferir el formato de fecha y hora, obtendrá los resultados más sólidos. Se analizan todas las cadenas de fecha y hora válidas. Sin embargo, esta operación puede ser un orden de magnitud más lenta que las dos primeras opciones de esta lista.

Al utilizar esta transformación, se especifica una columna de entrada que contiene datos de fecha y hora en uno de los formatos enumerados anteriormente. La transformación crea una columna de salida denominada Nombre de columna de salida. El formato de la columna de salida depende de que la configuración use lo siguiente.

  • Vector: genera una sola columna como un vector.

  • Columnas: crea una nueva columna para cada característica. Por ejemplo, si la salida contiene un año, un mes y un día, se crean tres columnas independientes para el año, el mes y el día.

Además, debe elegir un Modo de incrustación. Para los modelos lineales y las redes profundas, se recomienda elegir el cíclico. Para los algoritmos basados en árboles, recomendamos elegir ordinal.

Formatear cadena

Las transformaciones Formatear cadena contienen operaciones de formato de cadenas estándar. Por ejemplo, puede utilizar estas operaciones para eliminar caracteres especiales, normalizar la longitud de las cadenas y actualizar las mayúsculas y minúsculas de las cadenas.

Este grupo de características contiene las siguientes transformaciones. Todas las transformaciones devuelven copias de las cadenas de la columna de entrada y añaden el resultado a una nueva columna de salida.

Nombre Función
Left pad

Relleno a la izquierda de la cadena con un carácter de relleno determinado y hasta el ancho indicado. Si la cadena es más larga que el ancho, el valor devuelto se acorta al número de caracteres de ancho.

Right pad

Relleno a la derecha de la cadena con un carácter de relleno determinado y hasta el ancho indicado. Si la cadena es más larga que el ancho, el valor devuelto se acorta al número de caracteres de ancho.

Center (relleno a ambos lados)

Relleno en el centro de la cadena (añade relleno a ambos lados de la cadena) con un carácter de relleno determinado del ancho indicado. Si la cadena es más larga que el ancho, el valor devuelto se acorta al número de caracteres de ancho.

Prepend zeros

Relleno a la izquierda de una cadena numérica con ceros, hasta un ancho determinado. Si la cadena es más larga que el ancho, el valor devuelto se acorta al número de caracteres de ancho.

Strip left and right

Devuelve una copia de la cadena sin los caracteres iniciales ni finales.

Strip characters from left

Devuelve una copia de la cadena sin los caracteres iniciales.

Strip characters from right

Devuelve una copia de la cadena sin los caracteres finales.

Lower case

Convierte todas las letras del texto a minúsculas.

Upper case

Convierte todas las letras del texto a mayúsculas.

Capitalize

Escribe en mayúscula la primera letra de cada oración.

Swap case Convierte todas las mayúsculas en minúsculas y todas las minúsculas en mayúsculas en la cadena y la devuelve.
Add prefix or suffix

Añade un prefijo y un sufijo a la columna de cadena. Debe especificar, al menos, un prefijo o un sufijo.

Remove symbols

Elimina los símbolos determinados de una cadena. Se eliminan todos los caracteres de la lista. El valor predeterminado es el espacio en blanco.

Gestionar valores atípicos

Los modelos de machine learning son sensibles a la distribución y el rango de los valores de sus características. Los valores atípicos, o valores poco frecuentes, pueden afectar negativamente a la precisión del modelo y provocar tiempos de entrenamiento más prolongados. Utilice este grupo de características para detectar y actualizar los valores atípicos en su conjunto de datos.

Al definir un paso de transformación Gestionar valores atípicos, las estadísticas utilizadas para detectar valores atípicos se generan a partir de los datos disponibles en Data Wrangler al definir este paso. Estas mismas estadísticas se utilizan cuando se ejecuta un trabajo de Data Wrangler.

Utilice las siguientes secciones para obtener más información sobre las transformaciones que contiene este grupo. Usted especifica un nombre de salida y cada una de estas transformaciones genera una columna de salida con los datos resultantes.

Valores atípicos de desviación estándar sólida

Esta transformación detecta y corrige los valores atípicos en las características numéricas mediante estadísticas resistentes a valores atípicos.

Debe definir un cuantil superior y un cuantil inferior para las estadísticas utilizadas para calcular los valores atípicos. También debe especificar el número de desviaciones estándar desde las que un valor debe variar de la media para que se considere un valor atípico. Por ejemplo, si especifica 3 para Desviaciones estándar, un valor debe estar a más de 3 desviaciones estándar de la media para que se considere un valor atípico.

El Método de resolución es el método que se utiliza para gestionar los valores atípicos cuando se detectan. Puede elegir entre las siguientes opciones:

  • Recortar: utilice esta opción para recortar los valores atípicos al límite de detección de valores atípicos correspondiente.

  • Eliminar: utilice esta opción para eliminar las filas con valores atípicos del marco de datos.

  • Invalidar: utilice esta opción para reemplazar los valores atípicos por valores no válidos.

Valores atípicos de desviación estándar

Esta transformación detecta y corrige los valores atípicos en las características numéricas mediante la media y la desviación estándar.

Usted especifica el número de desviaciones estándar que debe separar a un valor de la media para que se considere un valor atípico. Por ejemplo, si especifica 3 para Desviaciones estándar, un valor debe estar a más de 3 desviaciones estándar de la media para que se considere un valor atípico.

El Método de resolución es el método que se utiliza para gestionar los valores atípicos cuando se detectan. Puede elegir entre las siguientes opciones:

  • Recortar: utilice esta opción para recortar los valores atípicos al límite de detección de valores atípicos correspondiente.

  • Eliminar: utilice esta opción para eliminar las filas con valores atípicos del marco de datos.

  • Invalidar: utilice esta opción para reemplazar los valores atípicos por valores no válidos.

Valores atípicos numéricos cuantiles

Utilice esta transformación para detectar y corregir valores atípicos en entidades numéricas mediante cuantiles. Puede definir un cuantil superior y un cuantil inferior. Todos los valores que están por encima del cuantil superior o por debajo del cuantil inferior se consideran valores atípicos.

El Método de resolución es el método que se utiliza para gestionar los valores atípicos cuando se detectan. Puede elegir entre las siguientes opciones:

  • Recortar: utilice esta opción para recortar los valores atípicos al límite de detección de valores atípicos correspondiente.

  • Eliminar: utilice esta opción para eliminar las filas con valores atípicos del marco de datos.

  • Invalidar: utilice esta opción para reemplazar los valores atípicos por valores no válidos.

Valores atípicos numéricos mínimos y máximos

Esta transformación detecta y corrige los valores atípicos en las características numéricas mediante un umbral superior e inferior. Utilice este método si conoce los valores límite que marcan los valores atípicos.

Debe especificar un umbral superior y un umbral inferior; si los valores están por encima o por debajo de esos umbrales, respectivamente, se consideran valores atípicos.

El Método de resolución es el método que se utiliza para gestionar los valores atípicos cuando se detectan. Puede elegir entre las siguientes opciones:

  • Recortar: utilice esta opción para recortar los valores atípicos al límite de detección de valores atípicos correspondiente.

  • Eliminar: utilice esta opción para eliminar las filas con valores atípicos del marco de datos.

  • Invalidar: utilice esta opción para reemplazar los valores atípicos por valores no válidos.

Sustituir poco frecuentes

Cuando utiliza la transformación Sustituir poco frecuentes, especifica un umbral; Data Wrangler busca todos los valores que lo cumplen y los reemplaza por la cadena que haya especificado. Por ejemplo, es posible que desee utilizar esta transformación para clasificar todos los valores atípicos de una columna en la categoría “Otros”.

  • Cadena de reemplazo: la cadena con la que se reemplazan los valores atípicos.

  • Umbral absoluto: una categoría es poco frecuente si el número de instancias es inferior o igual a este umbral absoluto.

  • Umbral de fracción: una categoría es poco frecuente si el número de instancias es inferior o igual a este umbral de fracción multiplicado por el número de filas.

  • Máximo de categorías comunes: número máximo de categorías no poco frecuentes que permanecen después de la operación. Si el umbral no filtra suficientes categorías, las que tienen el mayor número de apariciones se clasifican como no poco frecuentes. Si se establece en 0 (valor predeterminado), no hay un límite estricto en cuanto al número de categorías.

Gestión de valores que faltan

Los valores faltantes son frecuentes en los conjuntos de datos de machine learning. En algunas situaciones, es apropiado imputar los datos faltantes a un valor calculado, como un valor promedio o categóricamente común. Puede procesar los valores faltantes mediante el grupo de transformaciones Gestión de valores que faltan. Este grupo de características contiene las siguientes transformaciones.

Rellenar faltantes

Use la transformación Rellenar faltantes para reemplazar los valores faltantes por un valor de relleno que usted defina.

Imputar faltantes

Utilice la transformación Imputar faltantes para crear una nueva columna que contenga valores imputados donde se encontraron valores faltantes en los datos numéricos y categóricos de entrada. La configuración depende del tipo de datos.

Para los datos numéricos, elija una estrategia de imputación: la estrategia utilizada para determinar el nuevo valor que se va a imputar. Puede optar por imputar la media o la mediana a los valores que están presentes en su conjunto de datos. Data Wrangler usa el valor que calcula para imputar los valores faltantes.

Para los datos categóricos, Data Wrangler imputa los valores faltantes utilizando el valor más frecuente de la columna. Para imputar una cadena personalizada, use la transformación Rellenar faltantes.

Agregar indicador de faltante

Utilice la transformación Agregar indicador de faltante para crear una nueva columna indicadora que contenga un booleano "false" si una fila contiene un valor o un booleano "true" si una fila contiene un valor faltante.

Descartar faltantes

Utilice la opción Descartar faltantes para descartar las filas que contienen valores faltantes en la columna de entrada.

Administrar columnas

Puede usar las siguientes transformaciones para actualizar y administrar rápidamente las columnas de su conjunto de datos:

Nombre Función
Descartar columnas Eliminar una columna.
Duplicar columna Duplicar una columna.
Cambiar el nombre de las columnas Cambiar el nombre de una columna.
Mover columna

Mover la ubicación de una columna en el conjunto de datos. Elija mover la columna al principio o al final del conjunto de datos, antes o después de una columna de referencia, o a un índice específico.

Administrar filas

Utilice este grupo de transformación para realizar rápidamente operaciones de ordenación y mezcla de filas. Este grupo contiene lo siguiente:

  • Ordenar: ordena todo el marco de datos por una columna determinada. Seleccione la casilla de verificación situada junto a Orden ascendente para esta opción; de lo contrario, anule la selección de la casilla y se utilizará el orden descendente para ordenar.

  • Mezclar: mezcla aleatoriamente todas las filas del conjunto de datos.

Administrar vectores

Utilice este grupo de transformación para combinar o aplanar columnas vectoriales. Este grupo de características contiene las siguientes transformaciones.

  • Ensamblar: use esta transformación para combinar vectores de Spark y datos numéricos en una sola columna. Por ejemplo, puede combinar tres columnas: dos que contienen datos numéricos y una que contiene vectores. Agregue todas las columnas que desee combinar en las columnas de entrada y especifique un nombre de columna de salida para los datos combinados.

  • Aplanar: utilice esta transformación para aplanar una sola columna que contenga datos vectoriales. La columna de entrada debe contener PySpark vectores u objetos tipo matriz. Puede controlar el número de columnas creadas especificando un método para detectar el número de salidas. Por ejemplo, si selecciona Longitud del primer vector, el número de elementos del primer vector o matriz válido que se encuentre en la columna determina el número de columnas de salida que se crean. Todos los demás vectores de entrada con demasiados elementos se truncan. Las entradas con muy pocos elementos se rellenan con. NaNs

    También se especifica un prefijo de salida, que se utiliza como prefijo para cada columna de salida.

Procesar numéricos

Utilice el grupo de características Procesar numéricos para procesar datos numéricos. Cada valor escalar de este grupo se define mediante la biblioteca Spark. Se admiten los siguientes valores escalares:

  • Escalador estándar: estandariza la columna de entrada restando la media de cada valor y escalando a la varianza unitaria. Para obtener más información, consulta la documentación de Spark para StandardScaler.

  • Escalador robusto: escala la columna de entrada mediante estadísticas resistentes a los valores atípicos. Para obtener más información, consulta la documentación de Spark de RobustScaler.

  • Escalador mínimo y máximo: transforme la columna de entrada mediante el escalado de cada característica a un rango determinado. Para obtener más información, consulta la documentación de Spark sobre MinMaxScaler.

  • Escalador absoluto máximo: escala la columna de entrada dividiendo cada valor entre el valor absoluto máximo. Para obtener más información, consulta la documentación de Spark sobre MaxAbsScaler.

Muestreo

Después de importar los datos, puede usar el transformador de muestreo para tomar una o más muestras de los mismos. Cuando usa el transformador de muestreo, Data Wrangler toma muestras de su conjunto de datos original.

Puede usar uno de los métodos de muestreo siguientes.

  • Límite: toma muestras del conjunto de datos desde la primera fila hasta el límite que especifique.

  • Aleatorio: toma una muestra aleatoria del tamaño que especifique.

  • Estratificado: toma una muestra aleatoria estratificada.

Puede estratificar una muestra aleatoria para asegurarse de que representa la distribución original del conjunto de datos.

Es posible que esté preparando datos para varios casos de uso. Para cada caso de uso, puede tomar una muestra diferente y aplicar un conjunto diferente de transformaciones.

El siguiente procedimiento describe el proceso de creación de una muestra aleatoria.

Para tomar una muestra aleatoria de los datos.

  1. Seleccione +, a la derecha del conjunto de datos que ha importado. El nombre del conjunto de datos se encuentra debajo del signo +.

  2. Seleccione Agregar transformación.

  3. Seleccione Muestreo.

  4. En Método de muestreo, elija el método de muestreo.

  5. En Tamaño aproximado de la muestra, elija el número aproximado de observaciones que desee incluir en la muestra.

  6. (Opcional) Especifique un número entero para Inicio aleatorio a fin de crear una muestra reproducible.

El siguiente procedimiento describe el proceso de creación de una muestra estratificada.

Para tomar una muestra estratificada de sus datos.

  1. Seleccione +, a la derecha del conjunto de datos que ha importado. El nombre del conjunto de datos se encuentra debajo del signo +.

  2. Seleccione Agregar transformación.

  3. Seleccione Muestreo.

  4. En Método de muestreo, elija el método de muestreo.

  5. En Tamaño aproximado de la muestra, elija el número aproximado de observaciones que desee incluir en la muestra.

  6. En Estratificar columna, especifique el nombre de la columna en la que desea estratificar.

  7. (Opcional) Especifique un número entero para Inicio aleatorio a fin de crear una muestra reproducible.

Buscar y editar

Utilice esta sección para buscar y editar patrones específicos dentro de las cadenas. Por ejemplo, puede buscar y actualizar cadenas dentro de oraciones o documentos, dividir cadenas por delimitadores y buscar las apariciones de cadenas específicas.

Las siguientes transformaciones se admiten en Buscar y editar. Todas las transformaciones devuelven copias de las cadenas de la columna de entrada y añaden el resultado a una nueva columna de salida.

Nombre Función

Buscar subcadena

Devuelve el índice de la primera aparición de la subcadena que ha buscado. Puede iniciar y finalizar la búsqueda en Iniciar y Finalizar respectivamente.

Buscar subcadena (desde la derecha)

Devuelve el índice de la última aparición de la subcadena que ha buscado. Puede iniciar y finalizar la búsqueda en Iniciar y Finalizar respectivamente.

Coincidencia con el prefijo

Devuelve un valor booleano si la cadena contiene un patrón determinado. Un patrón puede ser una secuencia de caracteres o una expresión regular. Si lo desea, puede hacer que el patrón distinga entre mayúsculas y minúsculas.

Buscar todas las apariciones

Devuelve una matriz con todas las apariciones de un patrón dado. Un patrón puede ser una secuencia de caracteres o una expresión regular.

Extraer con expresión regular

Devuelve una cadena que coincide con un patrón de expresiones regulares determinado.

Extraer entre delimitadores

Devuelve una cadena con todos los caracteres encontrados entre el delimitador izquierdo y el delimitador derecho.

Extraer de la posición

Devuelve una cadena, empezando por la posición inicial de la cadena de entrada, que contiene todos los caracteres hasta la posición inicial más la longitud.

Buscar y reemplazar la subcadena

Devuelve una cadena con todas las coincidencias de un patrón determinado (expresión regular) reemplazadas por una cadena de reemplazo.

Sustituir entre delimitadores

Devuelve una cadena con la subcadena que se encuentra entre la primera aparición de un delimitador izquierdo y la última aparición de un delimitador derecho, sustituida por una cadena de reemplazo. Si no se encuentran coincidencias, no se reemplaza nada.

Sustituir desde la posición

Devuelve una cadena con la subcadena entre la posición inicial y la posición inicial más la longitud, reemplazada por la cadena de reemplazo. Si la posición inicial más la longitud es mayor que la longitud de la cadena de reemplazo, la salida contiene ...

Convertir expresión regular a faltante

Convierte una cadena en None si no es válida y devuelve el resultado. La validez se define con una expresión regular en Patrón.

Dividir cadena por el delimitador

Devuelve una matriz de cadenas desde la cadena de entrada, dividida por un delimitador, con hasta el número máximo de divisiones (opcional). El delimitador tiene como valor predeterminado un espacio en blanco.

Dividir datos

Use la transformación Dividir datos para dividir el conjunto de datos en dos o tres conjuntos de datos. Por ejemplo, puede dividir el conjunto de datos en un conjunto de datos que se utilice para entrenar el modelo y un conjunto de datos que se utilice para probarlo. Puede determinar la proporción del conjunto de datos que se incluye en cada división. Por ejemplo, si está dividiendo un conjunto de datos en dos conjuntos de datos, el conjunto de datos de entrenamiento puede contener el 80 % de los datos, mientras que el conjunto de datos de prueba tiene el 20 %.

Al dividir los datos en tres conjuntos de datos, podrá crear conjuntos de datos de entrenamiento, validación y prueba. Puede ver el rendimiento del modelo en el conjunto de datos de prueba si elimina la columna de destino.

Su caso de uso determina qué parte del conjunto de datos original obtiene cada uno de sus conjuntos de datos y el método que utiliza para dividir los datos. Por ejemplo, es posible que desee usar una división estratificada para asegurarse de que la distribución de las observaciones en la columna de destino sea la misma en todos los conjuntos de datos. Puede usar una de las siguientes transformaciones.

  • División aleatoria: cada división es una muestra aleatoria y no superpuesta del conjunto de datos original. Para conjuntos de datos más grandes, el uso de una división aleatoria puede resultar costoso desde el punto de vista computacional y llevar más tiempo que una división ordenada.

  • División ordenada: divide el conjunto de datos en función del orden secuencial de las observaciones. Por ejemplo, en el caso de una división 80/20 entre entrenamiento y prueba, las primeras observaciones que constituyen el 80 % del conjunto de datos se destinan al entrenamiento. El último 20 % de las observaciones se destina al conjunto de datos de prueba. Las divisiones ordenadas son eficaces a la hora de mantener el orden existente de los datos entre las divisiones.

  • División estratificada: divide el conjunto de datos para garantizar que el número de observaciones de la columna de entrada tenga una representación proporcional. En una columna de entrada con las observaciones 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, 3, 3, 3, 3, 3, 3, 3, una división de 80/20 en la columna significaría que aproximadamente el 80 % de los 1, el 80 % de los 2 y el 80 % de los 3 van al conjunto de entrenamiento. Aproximadamente el 20 % de cada tipo de observación se destina al conjunto de pruebas.

  • Dividir por clave: evita que los datos con la misma clave aparezcan en más de una división. Por ejemplo, si tiene un conjunto de datos con la columna “customer_id” y lo utiliza como clave, no habrá ningún identificador de cliente en más de una división.

Después de dividir los datos, puede aplicar transformaciones adicionales a cada conjunto de datos. En la mayoría de los casos de uso, no son necesarios.

Data Wrangler calcula las proporciones de las divisiones para garantizar el rendimiento. Puede elegir un umbral de error para establecer la precisión de las divisiones. Los umbrales de error más bajos reflejan con mayor precisión las proporciones que se especifican para las divisiones. Si establece un umbral de error más alto, obtendrá un mejor rendimiento, pero una menor precisión.

Para dividir perfectamente los datos, establezca el umbral de error en 0. Puede especificar un umbral entre 0 y 1 para mejorar el rendimiento. Si especifica un valor mayor que 1, Data Wrangler interpreta ese valor como 1.

Si tiene 10 000 filas en su conjunto de datos y especifica una división de 80/20 con un error de 0,001, obtendrá observaciones que se aproximan a uno de los siguientes resultados:

  • 8010 observaciones en el conjunto de entrenamiento y 1990 en el conjunto de prueba.

  • 7990 observaciones en el conjunto de entrenamiento y 2010 en el conjunto de prueba.

El número de observaciones del conjunto de pruebas del ejemplo anterior está en el intervalo entre 8010 y 7990.

De forma predeterminada, Data Wrangler utiliza una semilla (o inicio) aleatoria para hacer que las divisiones sean reproducibles. Puede especificar un valor diferente para la semilla a fin de crear una división reproducible diferente.

Randomized split

Utilice el siguiente procedimiento para realizar una división aleatoria en el conjunto de datos.

Para dividir el conjunto de datos de forma aleatoria, haga lo siguiente

  1. Elija el signo +, situado junto al nodo que contiene el conjunto de datos que va a dividir.

  2. Seleccione Agregar transformación.

  3. Elija Dividir datos.

  4. (Opcional) En Divisiones, especifique los nombres y las proporciones de cada división. La suma de las proporciones debe ser 1.

  5. (Opcional) Seleccione + para crear una división adicional.

    1. Especifique los nombres y las proporciones de todas las divisiones. La suma de las proporciones debe ser 1.

  6. (Opcional) Especifique un valor para Umbral de error distinto del valor predeterminado.

  7. (Opcional) Especifique un valor para la Semilla aleatoria.

  8. Seleccione Preview (Versión preliminar).

  9. Elija Añadir.

Ordered split

Utilice el siguiente procedimiento para realizar una división ordenada en el conjunto de datos.

Para realizar una división ordenada en su conjunto de datos, haga lo siguiente.

  1. Elija el signo +, situado junto al nodo que contiene el conjunto de datos que va a dividir.

  2. Seleccione Agregar transformación.

  3. En Transformar, seleccione División ordenada.

  4. Elija Dividir datos.

  5. (Opcional) En Divisiones, especifique los nombres y las proporciones de cada división. La suma de las proporciones debe ser 1.

  6. (Opcional) Seleccione + para crear una división adicional.

    1. Especifique los nombres y las proporciones de todas las divisiones. La suma de las proporciones debe ser 1.

  7. (Opcional) Especifique un valor para Umbral de error distinto del valor predeterminado.

  8. (Opcional) En Columna de entrada, especifique una columna con valores numéricos. Utilice los valores de las columnas para deducir qué registros hay en cada división. Los valores más pequeños se encuentran en una división y los valores más grandes en las otras divisiones.

  9. (Opcional) Seleccione Gestionar duplicados para añadir ruido a los valores duplicados y crear un conjunto de datos de valores totalmente únicos.

  10. (Opcional) Especifique un valor para la Semilla aleatoria.

  11. Seleccione Preview (Versión preliminar).

  12. Elija Añadir.

Stratified split

Utilice el siguiente procedimiento para realizar una división estratificada en el conjunto de datos.

Para realizar una división estratificada en su conjunto de datos, haga lo siguiente.

  1. Elija el signo +, situado junto al nodo que contiene el conjunto de datos que va a dividir.

  2. Seleccione Agregar transformación.

  3. Elija Dividir datos.

  4. En Transformar, elija División estratificada.

  5. (Opcional) En Divisiones, especifique los nombres y las proporciones de cada división. La suma de las proporciones debe ser 1.

  6. (Opcional) Seleccione + para crear una división adicional.

    1. Especifique los nombres y las proporciones de todas las divisiones. La suma de las proporciones debe ser 1.

  7. En Columna de entrada, especifique una columna con hasta 100 valores únicos. Data Wrangler no puede estratificar una columna con más de 100 valores únicos.

  8. (Opcional) Especifique un valor para Umbral de error distinto del valor predeterminado.

  9. (Opcional) Especifique un valor en Semilla aleatoria para especificar una semilla diferente.

  10. Seleccione Preview (Versión preliminar).

  11. Elija Añadir.

Split by column keys

Utilice el siguiente procedimiento para dividir el conjunto de datos por las claves de las columnas.

Para dividir el conjunto de datos por las claves de columna, haga lo siguiente.

  1. Elija el signo +, situado junto al nodo que contiene el conjunto de datos que va a dividir.

  2. Seleccione Agregar transformación.

  3. Elija Dividir datos.

  4. En Transformar, selecciona Dividir por clave.

  5. (Opcional) En Divisiones, especifique los nombres y las proporciones de cada división. La suma de las proporciones debe ser 1.

  6. (Opcional) Seleccione + para crear una división adicional.

    1. Especifique los nombres y las proporciones de todas las divisiones. La suma de las proporciones debe ser 1.

  7. En el caso de las columnas clave, especifique las columnas con valores que no desee que aparezcan en ambos conjuntos de datos.

  8. (Opcional) Especifique un valor para Umbral de error distinto del valor predeterminado.

  9. Seleccione Preview (Versión preliminar).

  10. Elija Añadir.

Analizar valor como tipo

Use esta transformación para convertir una columna en un nuevo tipo. Los tipos de datos de Data Wrangler compatibles son los siguientes:

  • Largo

  • Flotante

  • Booleano

  • Fecha, en el formato dd-MM-aaaa (día, mes y año, respectivamente).

  • Cadena

Validar cadena

Utilice las transformaciones Validar cadena para crear una nueva columna que indique que una fila de datos de texto cumple una condición específica. Por ejemplo, puede usar una transformación Validar cadena para comprobar que una cadena solo contiene caracteres en minúscula. Validar cadena admite las siguientes transformaciones.

Las siguientes transformaciones se incluyen en este grupo de transformaciones. Si una transformación genera un valor booleano, True se representa con un 1 y False se representa con un 0.

Nombre Función

Longitud de cadena

Devuelve True si la longitud de una cadena es igual a la longitud especificada. De lo contrario, devuelve False.

Empieza por

Devuelve True si una cadena comienza con un prefijo especificado. De lo contrario, devuelve False.

Acaba con

Devuelve True si la longitud de una cadena es igual a la longitud especificada. De lo contrario, devuelve False.

Es alfanumérico

Devuelve True si una cadena solo contiene números y letras. De lo contrario, devuelve False.

Es alfa (letras)

Devuelve True si una cadena solo contiene letras. De lo contrario, devuelve False.

Es dígito

Devuelve True si una cadena solo contiene dígitos. De lo contrario, devuelve False.

Es espacio

Devuelve True si una cadena solo contiene números y letras. De lo contrario, devuelve False.

Es un título

Devuelve True si una cadena contiene algún espacio en blanco. De lo contrario, devuelve False.

Está en minúsculas

Devuelve True si una cadena solo contiene letras en minúscula. De lo contrario, devuelve False.

Está en mayúscula

Devuelve True si una cadena solo contiene letras en mayúscula. De lo contrario, devuelve False.

Es numérico

Devuelve True si una cadena solo contiene números. De lo contrario, devuelve False.

Es decimal

Devuelve True si una cadena solo contiene números decimales. De lo contrario, devuelve False.

Datos JSON de Unnest

Si tiene un archivo .csv, es posible que tengas valores en su conjunto de datos que sean cadenas JSON. Del mismo modo, es posible que tenga datos anidados en columnas de un archivo Parquet o de un documento JSON.

Utilice el operador Flatten structured para separar las claves del primer nivel en columnas independientes. Una clave de primer nivel es una clave que no está anidada dentro de un valor.

Por ejemplo, puede tener un conjunto de datos que tenga una columna persona, con información demográfica sobre cada persona almacenada como cadenas JSON. La estructura JSON podría tener el siguiente aspecto.

"{"seq": 1,"name": {"first": "Nathaniel","last": "Ferguson"},"age": 59,"city": "Posbotno","state": "WV"}"

El operador Flatten structured convierte las siguientes claves de primer nivel en columnas adicionales del conjunto de datos:

  • seq

  • name

  • edad

  • ciudad

  • estado

Data Wrangler coloca los valores de las claves como valores debajo de las columnas. A continuación se muestran los nombres y valores de las columnas del JSON.

seq, name, age, city, state 1, {"first": "Nathaniel","last": "Ferguson"}, 59, Posbotno, WV

Para cada valor del conjunto de datos que contenga JSON, el operador Flatten structured crea columnas para las claves de primer nivel. Para crear columnas para claves anidadas, vuelve a llamar al operador. En el ejemplo anterior, la llamada al operador crea las siguientes columnas:

  • name_first

  • name_last

En el siguiente ejemplo, se muestra el conjunto de datos que resulta de volver a llamar a la operación.

seq, name, age, city, state, name_first, name_last 1, {"first": "Nathaniel","last": "Ferguson"}, 59, Posbotno, WV, Nathaniel, Ferguson

Elija Claves en las que aplanar para especificar las claves de primer nivel que desee extraer como columnas independientes. Si no especifica ninguna clave, Data Wrangler extrae todas las claves por defecto.

Desglosar matriz

Utilice Desglosar matriz para expandir los valores de la matriz en filas de salida independientes. Por ejemplo, la operación puede tomar todos los valores de la matriz [[1, 2, 3], [4, 5, 6], [7, 8, 9]] y crear una nueva columna con las siguientes filas:

[1, 2, 3] [4, 5, 6] [7, 8, 9]

Data Wrangler le pone a la nueva columna el nombre input_column_name_flatten.

Puede llamar a la operación Desglosar matriz varias veces para obtener los valores anidados de la matriz en columnas de salida separadas. El siguiente ejemplo muestra el resultado de llamar a la operación varias veces en un conjunto de datos con una matriz anidada.

Colocar los valores de una matriz anidada en columnas separadas
id matriz id array_items id array_items_items
1 [ [cat, dog], [bat, frog] ] 1 [cat, dog] 1 cat
2

[[rose, petunia], [lily, daisy]]

1 [bat, frog] 1 dog
2 [rose, petunia] 1 bat
2 [lily, daisy] 1 frog
2 2. rose
2 2. petunia
2 2. lily
2 2. daisy

Transformar datos de imagen

Use Data Wrangler para importar y transformar las imágenes que utiliza en sus canalizaciones de machine learning (ML). Cuando haya preparado los datos de imagen, puede exportarlos desde su flujo de Data Wrangler a su canalización de ML.

Puede utilizar la información proporcionada aquí para familiarizarse con la importación y la transformación de datos de imagen en Data Wrangler. Data Wrangler usa OpenCV para importar imágenes. Para obtener más información sobre los formatos de imagen compatibles, consulte Image file reading and writing.

Una vez que se haya familiarizado con los conceptos de la transformación de los datos de imagen, siga el siguiente tutorial, Prepare los datos de imagen con Amazon SageMaker Data Wrangler.

Los siguientes sectores y casos de uso son ejemplos en los que puede resultar útil aplicar machine learning a los datos de imágenes transformados.

  • Fabricación: identificación de defectos en los artículos de la línea de ensamblaje.

  • Alimentación: identificación de alimentos en mal estado o podridos.

  • Medicina: identificación de lesiones en los tejidos.

Cuando se trabaja con datos de imágenes en Data Wrangler, se sigue el siguiente proceso.

  1. Importación: seleccione las imágenes eligiendo el directorio que las contiene en el bucket de Amazon S3.

  2. Transformación: utilice las transformaciones integradas a fin de preparar las imágenes para la canalización de machine learning.

  3. Exportación: exporte las imágenes que ha transformado a una ubicación a la que pueda acceder desde la canalización.

Utilice el siguiente procedimiento para importar los datos de imágenes.

Para importar los datos de imágenes
  1. Vaya a la página Crear conexión.

  2. Seleccione Amazon S3.

  3. Especifique la ruta del archivo de Amazon S3 que contiene los datos de imagen.

  4. En Tipo de archivo, elija Imagen.

  5. (Opcional) Seleccione Importar directorios anidados para importar imágenes desde varias rutas de Amazon S3.

  6. Seleccione Importar.

Data Wrangler utiliza la biblioteca imgaug de código abierto para sus transformaciones de imágenes integradas. Puede utilizar las siguientes transformaciones integradas:

  • ResizeImage

  • EnhanceImage

  • CorruptImage

  • SplitImage

  • DropCorruptedImágenes

  • DropImageDuplicados

  • Brightness (Brillo)

  • ColorChannels

  • Grayscale

  • Rotación

Utilice el siguiente procedimiento para transformar sus imágenes sin escribir código.

Para transformar los datos de imágenes sin escribir código
  1. En el flujo de Data Wrangler, seleccione +, junto al nodo que representa las imágenes que ha importado.

  2. Seleccione Agregar transformación.

  3. Seleccione Agregar paso.

  4. Elija la transformación y configúrela.

  5. Seleccione Preview (Versión preliminar).

  6. Elija Añadir.

Además de utilizar las transformaciones que proporciona Data Wrangler, también puede utilizar sus propios fragmentos de código personalizados. Para obtener más información acerca del uso de fragmentos de código personalizados, consulte Transformaciones personalizadas. Puede importar las bibliotecas OpenCV e imgaug dentro de sus fragmentos de código y utilizar las transformaciones asociadas a ellas. Lo que sigue es un ejemplo de fragmento de código que detecta bordes dentro de las imágenes.

# A table with your image data is stored in the `df` variable import cv2 import numpy as np from pyspark.sql.functions import column from sagemaker_dataprep.compute.operators.transforms.image.constants import DEFAULT_IMAGE_COLUMN, IMAGE_COLUMN_TYPE from sagemaker_dataprep.compute.operators.transforms.image.decorators import BasicImageOperationDecorator, PandasUDFOperationDecorator @BasicImageOperationDecorator def my_transform(image: np.ndarray) -> np.ndarray: # To use the code snippet on your image data, modify the following lines within the function HYST_THRLD_1, HYST_THRLD_2 = 100, 200 edges = cv2.Canny(image,HYST_THRLD_1,HYST_THRLD_2) return edges @PandasUDFOperationDecorator(IMAGE_COLUMN_TYPE) def custom_image_udf(image_row): return my_transform(image_row) df = df.withColumn(DEFAULT_IMAGE_COLUMN, custom_image_udf(column(DEFAULT_IMAGE_COLUMN)))

Al aplicar transformaciones en su flujo de Data Wrangler, Data Wrangler solo las aplica a una muestra de las imágenes de su conjunto de datos. Para optimizar su experiencia con la aplicación, Data Wrangler no aplica las transformaciones a todas sus imágenes.

Para aplicar las transformaciones a todas sus imágenes, exporte el flujo de Data Wrangler a una ubicación de Amazon S3. Puede utilizar las imágenes que ha exportado en sus canalizaciones de entrenamiento o inferencia. Use un nodo de destino o un cuaderno de Jupyter para exportar sus datos. Puede acceder a cualquiera de los métodos para exportar sus datos desde el flujo de Data Wrangler. Para obtener información sobre estos métodos, consulte Exportar a Amazon S3..

Filtrar datos

Use Data Wrangler para filtrar los datos de sus columnas. Cuando filtra los datos de una columna, debe especificar los siguientes campos.

  • Nombre de la columna: el nombre de la columna que está utilizando para filtrar los datos.

  • Condición: el tipo de filtro que se aplica a los valores de la columna.

  • Valor: el valor o la categoría de la columna a la que se aplica el filtro.

Puede añadir filtros de acuerdo con las siguientes condiciones.

  • =: devuelve valores que coinciden con el valor o la categoría que especifica.

  • !=: devuelve valores que no coinciden con el valor o la categoría que especifica.

  • >=: en el caso de datos largos o flotantes, filtra los valores superiores o iguales al valor que especifica.

  • <=: en el caso de datos largos o flotantes, filtra los valores que son inferiores o iguales al valor que especifica.

  • >: en el caso de datos largos o flotantes, filtra los valores superiores al valor que especifica.

  • <: en el caso de datos largos o flotantes, filtra los valores que son inferiores al valor que especifica.

En una columna que contiene las categorías male y female, puede filtrar todos los valores male. También puede filtrar todos los valores female. Como solo hay valores male y female en la columna, el filtro devuelve una columna que solo tiene valores female.

También puede agregar varios filtros. Los filtros se pueden aplicar en varias columnas o en la misma columna. Por ejemplo, si va a crear una columna que solo tiene valores dentro de un rango determinado, agregará dos filtros diferentes. Un filtro especifica que la columna debe tener valores superiores al valor que usted proporciona. El otro filtro especifica que la columna debe tener valores inferiores al valor que usted proporciona.

Utilice el siguiente procedimiento para agregar la transformación del filtro a los datos.

Para filtrar los datos
  1. En el flujo de Data Wrangler, seleccione +, situado junto al nodo con los datos que está filtrando.

  2. Seleccione Agregar transformación.

  3. Seleccione Agregar paso.

  4. Seleccione Filtrar datos.

  5. Especifique los siguientes campos.

    • Nombre de la columna: la columna que está filtrando.

    • Condición: estado del filtro.

    • Valor: el valor o la categoría de la columna a la que se aplica el filtro.

  6. (Opcional) Seleccione + tras el filtro que ha creado.

  7. Configure el filtro.

  8. Seleccione Preview (Versión preliminar).

  9. Elija Añadir.

Asignar columnas para Amazon Personalize

Data Wrangler se integra con Amazon Personalize, un servicio de machine learning totalmente administrado que genera recomendaciones de artículos y segmentos de usuarios. Puede utilizar la transformación Asignar columnas para Amazon Personalize a fin de obtener los datos en un formato que Amazon Personalize pueda interpretar. Para obtener más información sobre las transformaciones específicas de Amazon Personalize, consulte Importación de datos con Amazon SageMaker Data Wrangler. Para obtener más información sobre Amazon Personalize, consulte What is Amazon Personalize?