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.
Transforma los datos
Amazon SageMaker Data Wrangler ofrece numerosas transformaciones de datos de aprendizaje automático para agilizar la limpieza y la caracterización de los datos. Con las herramientas interactivas de preparación de datos de Data Wrangler, puede muestrear conjuntos de datos de cualquier tamaño con diversas técnicas de muestreo y empezar a explorar los datos en cuestión de minutos. Después de finalizar las transformaciones de datos en los datos muestreados, puede escalar el flujo de datos para aplicar esas transformaciones a todo el conjunto de 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. Si sabe cómo quiere preparar sus datos, pero no sabe cómo empezar o qué transformaciones utilizar, puede utilizar la función de chat para preparar los datos para interactuar conversacionalmente con Data Wrangler y aplicar las transformaciones utilizando un lenguaje natural. Para obtener más información, consulte Chatea para preparar los datos.
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 numéricas del proceso y gestionar las transformaciones faltantes solo a una columna.
Utilice esta página para obtener más información sobre las transformaciones integradas y personalizadas que ofrece Data Wrangler.
Unir conjuntos de datos
Puede unir conjuntos de datos directamente en 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 izquierdo: 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.
-
Anti izquierdo: incluye las filas de la tabla de la izquierda que no contienen 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 derecho: 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 completo: 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.
-
Cruz 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 conjuntos de datos. Ya debería haber importado dos fuentes de datos a su flujo de datos.
-
Seleccione el icono Más opciones ( ) situado junto al nodo izquierdo al que desee unirse. El primer nodo que seleccione será siempre la tabla de la izquierda de la unión.
-
Coloca el cursor sobre Combinar datos y, a continuación, selecciona Unir.
-
Selecciona el nodo correcto. El segundo nodo que seleccione será siempre la tabla correcta de la unión.
-
El campo Tipo de unión está establecido en Unión interna de forma predeterminada. Seleccione el menú desplegable para cambiar el tipo de unión.
-
En el caso de las claves de unión, compruebe las columnas de las tablas izquierda y derecha que desee utilizar para unir los datos. Puede añadir o eliminar claves de unión adicionales.
-
En Nombre de la unión, introduzca un nombre para los datos unidos o utilice el nombre predeterminado.
-
(Opcional) Seleccione Vista previa para obtener una vista previa de los datos unidos.
-
Seleccione Añadir para completar la unión.
nota
Si recibe un aviso de que Canvas no identificó ninguna fila coincidente al unir sus datos, le recomendamos que compruebe que ha seleccionado las columnas correctas o que actualice la muestra para intentar encontrar filas coincidentes. Puede elegir una estrategia de muestreo diferente o cambiar el tamaño de la muestra. Para obtener información sobre cómo editar la muestra, consulteEdite la configuración de muestreo del flujo de datos.
Ahora debería ver un nodo de unión agregado a su flujo de datos.
Concatenar conjuntos de datos
La concatenación combina dos conjuntos de datos añadiendo las filas de un conjunto de datos a otro.
Utilice el siguiente procedimiento para concatenar dos conjuntos de datos. Ya debería haber importado dos fuentes de datos a su flujo de datos.
Para concatenar dos conjuntos de datos:
-
Seleccione el icono Más opciones ( ) situado junto al nodo izquierdo que desee concatenar. El primer nodo que seleccione será siempre la tabla de la izquierda de la operación de concatenación.
-
Coloca el cursor sobre Combinar datos y, a continuación, selecciona Concatenar.
-
Selecciona el nodo correcto. El segundo nodo que selecciones es siempre la tabla correcta de la concatenada.
-
(Opcional) Seleccione la casilla de verificación situada junto a Eliminar los duplicados después de la concatenación para eliminar las columnas duplicadas.
-
(Opcional) Seleccione la casilla de verificación situada junto a Añadir columna para indicar el marco de datos de origen para añadir una columna al marco de datos resultante que muestre el conjunto de datos de origen de cada registro.
En el nombre de la columna del indicador, ingresa un nombre para la columna agregada.
En la cadena que indica el primer conjunto de datos, introduzca el valor que desee usar para marcar los registros del primer conjunto de datos (o del nodo izquierdo).
En la cadena que indica el segundo conjunto de datos, introduzca el valor que desee usar para marcar los registros del segundo conjunto de datos (o del nodo derecho).
-
En Nombre de la concatenación, ingresa un nombre para la concatenación.
-
(Opcional) Seleccione Vista previa para obtener una vista previa de los datos concatenados.
-
Seleccione agregar para añadir el nuevo conjunto de datos a su flujo de datos.
Ahora debería ver un nodo concatenado agregado 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 al respectoSMOTE, consulte la siguiente descripción.
Puede usar todas las transformaciones para conjuntos de datos que contengan características numéricas y no numéricas. SMOTEinterpola 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.
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.
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 usando una SQL expresión de Spark para consultar datos en el marco de datos actual. La consulta debe usar las convenciones de las expresiones de SparkSQL.
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
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 elloPCA, 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 usar el siguiente procedimiento para ejecutarlo PCA en su conjunto de datos.
Para ejecutar PCA en su conjunto de datos, haga lo siguiente.
-
Abra el flujo de datos de Data Wrangler.
-
Seleccione + y seleccione Agregar transformación.
-
Seleccione Agregar paso.
-
Elija Reducción de dimensionalidad.
-
En Columnas de entrada, elija las características que va a reducir en los componentes principales.
-
(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.
-
(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. -
(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.
-
(Opcional) Deseleccione Escala para no escalar los datos con la desviación estándar de la unidad.
-
(Opcional) Elija Columnas para generar los componentes en columnas separadas. Elija Vector para generar los componentes como un vector único.
-
(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.
-
(Opcional) Seleccione Conservar columnas de entrada. No recomendamos seleccionar esta opción si planea usar solo los componentes principales para entrenar el modelo.
-
Seleccione Preview (Versión preliminar).
-
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 enTrue
, 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.
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.
-
Inicia sesión en Amazon SageMaker Console
. -
Elige Open Studio Classic.
-
Elija Lanzar aplicación.
-
Elija Studio.
-
Especifique su flujo de datos.
-
Elija un paso con una transformación.
-
Seleccione Agregar paso.
-
Elija Codificar categóricos.
-
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 los datos de texto en vectores de frecuencia terminológica o frecuencia inversa de documentos (TF-). IDF
Cuando IDF se calcula TF- 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 vectorial, 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 especifica3
como longitud mínima del token, las palabras comoa, at, in
se eliminarán de la oración tokenizada. -
Si la expresión regular se divide en espacios: si se selecciona, 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 IDF transformación, que multiplica la frecuencia del término por la frecuencia de documentos inversa estándar utilizada para la incrustación de TF. IDF IDFentre los parámetros se incluyen 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.
Temas
- Agrupación por serie temporal
- Remuestreo de datos de series temporales
- Gestión de datos ausentes de series temporales
- Validar la marca de tiempo de sus datos de series temporales
- Estandarizar la longitud de las series temporales
- Extracción de características a partir de datos de series temporales
- Uso de características desfasadas en los datos de series temporales
- Crear un rango de fecha y hora en su serie temporal
- Uso de periodos móviles en series temporales
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.
-
Abra el flujo de datos de Data Wrangler.
-
En el flujo de datos, en Tipos de datos, elija el signo + y seleccione Agregar transformación.
-
Seleccione Agregar paso.
-
Seleccione Serie temporal.
-
En Transformar, elija Agrupar por.
-
Especifique una columna en Agrupar por esta columna.
-
En Aplicar a columnas, especifique un valor.
-
Elija Vista previa para generar una vista previa del análisis.
-
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.
-
Abra el flujo de datos de Data Wrangler.
-
En el flujo de datos, en Tipos de datos, elija el signo + y seleccione Agregar transformación.
-
Seleccione Agregar paso.
-
Seleccione Remuestrear.
-
En Marca temporal, elija la columna timestamp.
-
En Unidad de frecuencia, especifique la frecuencia que va a volver a muestrear.
-
(Opcional) Especifique un valor para la Cantidad de frecuencia.
-
Configure la transformación especificando los campos restantes.
-
Elija Vista previa para generar una vista previa del análisis.
-
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.
-
Abra el flujo de datos de Data Wrangler.
-
En el flujo de datos, en Tipos de datos, elija el signo + y seleccione Agregar transformación.
-
Seleccione Agregar paso.
-
Elija Manejo de ausentes.
-
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.
-
En Imputar valores faltantes para esta columna, especifique la columna que tiene los valores faltantes.
-
En Método para imputar valores, seleccione un método.
-
Configure la transformación especificando los campos restantes.
-
Elija Vista previa para generar una vista previa del análisis.
-
Si faltan valores, puede especificar un método para imputarlos en Método para imputar valores.
-
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.
-
Abra el flujo de datos de Data Wrangler.
-
En el flujo de datos, en Tipos de datos, elija el signo + y seleccione Agregar transformación.
-
Seleccione Agregar paso.
-
Seleccione Validar marcas de tiempo.
-
En Columna marca de tiempo, elija la columna marca de tiempo.
-
En Política, elija si desea gestionar las marcas de tiempo que faltan.
-
(Opcional) En Columna de salida, especifique un nombre para la columna de salida.
-
Si la columna de fecha y hora está formateada para el tipo de cadena, elija Transmitir a fecha y hora.
-
Elija Vista previa para generar una vista previa del análisis.
-
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.
-
Abra el flujo de datos de Data Wrangler.
-
En el flujo de datos, en Tipos de datos, elija el signo + y seleccione Agregar transformación.
-
Seleccione Agregar paso.
-
Elija Estandarizar longitud.
-
En Estandarizar la longitud de la serie temporal de la columna, elija una columna.
-
(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.
-
Si la columna de fecha y hora está formateada para el tipo de cadena, elija Transmitir a fecha y hora.
-
Elija un Cuantil de corte y especifique un cuantil para establecer la longitud de la secuencia.
-
Seleccione Aplanar la salida para extraer los valores de la serie temporal en columnas independientes.
-
Elija Vista previa para generar una vista previa del análisis.
-
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.
-
Abra el flujo de datos de Data Wrangler.
-
En el flujo de datos, en Tipos de datos, elija el signo + y seleccione Agregar transformación.
-
Seleccione Agregar paso.
-
Seleccione Extraer características.
-
En Extraer características para esta columna, seleccione una columna.
-
(Opcional) Seleccione Aplanar para extraer las características en columnas independientes.
-
En Estrategia, elija una estrategia para extraer las características.
-
Elija Vista previa para generar una vista previa del análisis.
-
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.
-
Abra el flujo de datos de Data Wrangler.
-
En el flujo de datos, en Tipos de datos, elija el signo + y seleccione Agregar transformación.
-
Seleccione Agregar paso.
-
Seleccione Características con retraso.
-
En Generar características con retraso para esta columna, seleccione una columna.
-
En Columna marca de tiempo, elija la columna con las marcas de tiempo.
-
En Retraso, especifique la duración del retraso.
-
(Opcional) Configure la salida mediante una de las siguientes opciones:
-
Incluir toda el plazo de retraso
-
Aplanar la salida
-
Descartar filas sin historial
-
-
Elija Vista previa para generar una vista previa del análisis.
-
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.
-
Abra el flujo de datos de Data Wrangler.
-
En el flujo de datos, en Tipos de datos, elija el signo + y seleccione Agregar transformación.
-
Seleccione Agregar paso.
-
Elija un rango de fecha y hora.
-
En Tipo de frecuencia, elija la unidad utilizada para medir la frecuencia de las marcas de tiempo.
-
En Marca de tiempo de inicio, especifique la marca de tiempo de inicio.
-
En Columna de salida, especifique un nombre para la columna de salida.
-
(Opcional) Configure la salida con los campos restantes.
-
Elija Vista previa para generar una vista previa del análisis.
-
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.
-
Abra el flujo de datos de Data Wrangler.
-
En el flujo de datos, en Tipos de datos, elija el signo + y seleccione Agregar transformación.
-
Seleccione Agregar paso.
-
Seleccione las Características de periodo móvil.
-
En Generar características de periodo móvil para esta columna, seleccione una columna.
-
En Columna marca de tiempo, elija la columna con las marcas de tiempo.
-
(Opcional) En Columna de salida, especifique un nombre para la columna de salida.
-
En Tamaño del periodo, especifique el tamaño del periodo.
-
En Estrategia, elija una estrategia de extracción.
-
Elija Vista previa para generar una vista previa del análisis.
-
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
-
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 en forma de 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 para 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 para 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 para 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.
-
Seleccione +, a la derecha del conjunto de datos que ha importado. El nombre del conjunto de datos se encuentra debajo del signo +.
-
Seleccione Agregar transformación.
-
Seleccione Muestreo.
-
En Método de muestreo, elija el método de muestreo.
-
En Tamaño aproximado de la muestra, elija el número aproximado de observaciones que desee incluir en la muestra.
-
(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.
-
Seleccione +, a la derecha del conjunto de datos que ha importado. El nombre del conjunto de datos se encuentra debajo del signo +.
-
Seleccione Agregar transformación.
-
Seleccione Muestreo.
-
En Método de muestreo, elija el método de muestreo.
-
En Tamaño aproximado de la muestra, elija el número aproximado de observaciones que desee incluir en la muestra.
-
En Estratificar columna, especifique el nombre de la columna en la que desea estratificar.
-
(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 |
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.
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-yyyy, que representa el día, el mes y el 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 |
Empieza por |
Devuelve |
Acaba con |
Devuelve |
Es alfanumérico |
Devuelve |
Es alfa (letras) |
Devuelve |
Es dígito |
Devuelve |
Es espacio |
Devuelve |
Es un título |
Devuelve |
Está en minúsculas |
Devuelve |
Está en mayúscula |
Devuelve |
Es numérico |
Devuelve |
Es decimal |
Devuelve |
Datos no anidados JSON
Si tienes un archivo.csv, es posible que tengas valores en tu conjunto de datos que sean JSON cadenas. Del mismo modo, es posible que tenga datos anidados en columnas de un archivo Parquet o de un JSON documento.
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 de personas con información demográfica sobre cada persona almacenada como JSON cadenas. Una JSON cadena 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 deJSON.
seq, name, age, city, state 1, {"first": "Nathaniel","last": "Ferguson"}, 59, Posbotno, WV
Para cada valor del conjunto de datos que contengaJSON, el operador estructurado Flatten 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.
-
Importación: seleccione las imágenes eligiendo el directorio que las contiene en el bucket de Amazon S3.
-
Transformación: utilice las transformaciones integradas a fin de preparar las imágenes para la canalización de machine learning.
-
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
-
Vaya a la página Crear conexión.
-
Seleccione Amazon S3.
-
Especifique la ruta del archivo de Amazon S3 que contiene los datos de imagen.
-
En Tipo de archivo, elija Imagen.
-
(Opcional) Seleccione Importar directorios anidados para importar imágenes desde varias rutas de Amazon S3.
-
Seleccione Importar.
Data Wrangler utiliza la biblioteca imgaug
-
ResizeImage
-
EnhanceImage
-
CorruptImage
-
SplitImage
-
DropCorruptedImages
-
DropImageDuplicates
-
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
-
En el flujo de Data Wrangler, seleccione +, junto al nodo que representa las imágenes que ha importado.
-
Seleccione Agregar transformación.
-
Seleccione Agregar paso.
-
Elija la transformación y configúrela.
-
Seleccione Preview (Versión preliminar).
-
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.
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
-
En el flujo de Data Wrangler, seleccione +, situado junto al nodo con los datos que está filtrando.
-
Seleccione Agregar transformación.
-
Seleccione Agregar paso.
-
Seleccione Filtrar datos.
-
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.
-
-
(Opcional) Seleccione + tras el filtro que ha creado.
-
Configure el filtro.
-
Seleccione Preview (Versión preliminar).
-
Elija Añadir.