

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.

# Preparación de los datos de entrenamiento para Amazon Personalize
<a name="preparing-training-data"></a>

Después de [elegir un caso de uso de dominio o una receta](use-cases-and-recipes.md) y anotar los requisitos de datos, podrá empezar a preparar los datos. Amazon Personalize puede utilizar los siguientes tipos de datos:
+ [**Interacciones de elemento**](interactions-datasets.md): en Amazon Personalize, una *interacción de elemento* es un evento de interacción positiva entre un usuario y un elemento del catálogo. Por ejemplo, un usuario ve una película, ve un anuncio o compra un par de zapatos.
+ [**Elementos**](items-datasets.md): los metadatos de elemento pueden incluir información como el precio, el tipo de SKU, la descripción o la disponibilidad cada elemento del catálogo.
+ [**Usuarios**](users-datasets.md): los metadatos de usuario pueden incluir información como la edad, el sexo, el grado de fidelización y los intereses de cada uno de los usuarios.
+ [**Acciones**](actions-datasets.md): una *acción* es una actividad de interacción que puede que quiera recomendar a los clientes. Entre las acciones puede incluirse instalar su aplicación móvil, completar un perfil de pertenencia a grupo, unirse a un programa de fidelización o registrarse para recibir correos electrónicos promocionales. Para la receta Next-Best-Action, se requiere el conjunto de datos de acciones. Ninguna otra receta personalizada ni caso de uso de dominio utiliza datos de acciones. 
+ [**Interacciones de acciones**](action-interactions-datasets.md): una interacción de acciones es una evento de interacción entre un usuario y una acción. La receta Next-Best-Action utiliza estos datos y los de su conjunto de datos de acciones para recomendar acciones a los usuarios. Ninguna otra receta personalizada ni caso de uso de dominio utiliza datos de Action-interactions. 

Amazon Personalize almacena los datos en *conjuntos de datos*, uno para cada tipo de datos. Cada conjunto de datos tiene requisitos diferentes. Al importar datos en un conjunto de datos de Amazon Personalize, puede optar por importar los registros de forma masiva, individualmente o de ambos modos. Las importaciones masivas implican la importación de una gran cantidad de registros históricos almacenados en uno o más archivos CSV de un bucket de Amazon S3.
+ Si no tiene datos masivos, puede utilizar operaciones de importación individuales para recopilar datos y transmitir eventos hasta que cumpla los requisitos de entrenamiento de Amazon Personalize y los requisitos de datos del caso de uso o receta del dominio. Para obtener información sobre el registro de eventos, consulte [Registro de los eventos en tiempo real para influir en las recomendaciones](recording-events.md). Para obtener información sobre la importación de registros individuales, consulte [Importación de registros individuales a un conjunto de datos de Amazon Personalize](incremental-data-updates.md). 
+ Si no está seguro de tener suficientes datos o si tiene dudas sobre la calidad, puede importar los datos a un conjunto de datos de Amazon Personalize y utilizar Amazon Personalize para analizarlos. Para obtener más información, consulte [Análisis de la calidad y la cantidad de datos en los conjuntos de datos de Amazon Personalize](analyzing-data.md).

 En las siguientes secciones, se proporcionan los requisitos de datos para cada tipo de conjunto de datos de Amazon Personalize y las directrices para preparar datos masivos. Si no tiene datos masivos, consulte las secciones para comprender los datos obligatorios y opcionales que puede importar con operaciones de importación individuales. Si necesita ayuda adicional para dar formato a los datos, puede usar Amazon SageMaker AI Data Wrangler (Data Wrangler) para preparar los datos. Para obtener más información, consulte [Preparación e importación de datos masivos con Amazon SageMaker AI Data Wrangler](preparing-importing-with-data-wrangler.md).

Después de finalizar la preparación de los datos, podrá crear un archivo JSON de esquema. Este archivo informa a Amazon Personalize de la estructura de los datos. Para obtener más información, consulte [Creación de archivos JSON de esquema para los esquemas de Amazon Personalize](how-it-works-dataset-schema.md). 

**Topics**
+ [Directrices de formato de datos masivos para todos los tipos de datos](#general-formatting-guidelines)
+ [Preparación de los datos de interacción de elemento para el entrenamiento](interactions-datasets.md)
+ [Preparación de los metadatos de elemento para el entrenamiento](items-datasets.md)
+ [Preparación de los metadatos de usuario para el entrenamiento](users-datasets.md)
+ [Preparación de los metadatos de acción para el entrenamiento](actions-datasets.md)
+ [Preparación de los datos de interacción de acción para el entrenamiento](action-interactions-datasets.md)

## Directrices de formato de datos masivos para todos los tipos de datos
<a name="general-formatting-guidelines"></a>

Las siguientes directrices y requisitos pueden ayudarle a asegurarse de que los datos masivos tengan el formato correcto.
+ Sus datos de entrada deben estar en un archivo CSV (valores separados por comas). 
+ La primera fila del archivo CSV debe contener sus encabezados de columnas. No incluya los encabezados entre comillas ("). 
+  Las columnas deben tener nombres alfanuméricos únicos. Por ejemplo, no puede agregar un campo `GENRES_FIELD_1` y un campo `GENRESFIELD1` a la vez. 
+ Si va a importar varios archivos CSV, todos los encabezados de las columnas deben coincidir en todos los archivos. 
+ Asegúrese de tener los campos obligatorios para el tipo de conjunto de datos y asegúrese de que sus nombres cumplan con los requisitos de Amazon Personalize. Por ejemplo, sus datos de elementos podrían tener una columna llamada `ITEM_IDENTIFICATION_NUMBER` con los ID de cada uno de sus elementos. Para usar esta columna como un campo ITEM\$1ID, cambie el nombre de la columna a `ITEM_ID`. Si usa Data Wrangler para aplicar formato a sus datos, puede usar la transformación de Data Wrangler **Asignar columnas para Amazon Personalize** para asegurarse de que sus columnas tengan el nombre correcto.

   Para obtener información acerca del uso de Data Wrangler para preparar sus datos, consulte [Preparación e importación de datos masivos con Amazon SageMaker AI Data Wrangler](preparing-importing-with-data-wrangler.md).
+  Cada registro de su archivo CSV debe estar en una sola línea. 
+ Amazon Personalize no admite tipos de datos complejos, como matrices y mapas.
+ Para que Amazon Personalize utilice datos booleanos al entrenar o filtrar, utilice valores de cadena `"True"` y `"False"`, o valores numéricos `1` para true y `0` para false. 
+ Si usa Data Wrangler para aplicar formato a sus datos, puede usar la transformación de Data Wrangler [Analizar valor como tipo](https://docs.aws.amazon.com/sagemaker/latest/dg/data-wrangler-transform.html#data-wrangler-transform-cast-type) para convertir los tipos de datos.
+ Los datos de `TIMESTAMP` y `CREATION_TIMESTAMP` deben estar en formato de *tiempo UNIX*. Para obtener más información, consulte [Datos de marca temporal](interactions-datasets.md#timestamp-data).
+ Evite incluir caracteres `"` o caracteres especiales en los datos del ID de elemento, el ID de usuario y el ID de acción.
+ Si sus datos incluyen caracteres codificados que no son ASCII, su archivo CSV debe estar codificado en formato UTF-8.
+ Asegúrese de aplicar formato a los datos textuales tal y como se describe en [Metadatos de texto no estructurado](items-datasets.md#text-data).

# Preparación de los datos de interacción de elemento para el entrenamiento
<a name="interactions-datasets"></a>

 Una *interacción de elemento* es una interacción positiva entre un usuario y un elemento del catálogo. Por ejemplo, un usuario ve una película, ve un anuncio o compra un par de zapatos. Debe importar los datos sobre las interacciones de los usuarios con sus elementos en un *conjunto de datos de interacciones de elementos*. Puede registrar varios tipos de eventos, como *clic*, *ver* o *compra*. 

Por ejemplo, si un usuario *hace clic* en un elemento concreto y, a continuación, da a *me gusta* en el elemento, puede hacer que Amazon Personalize utilice estos eventos como datos de entrenamiento. Para cada evento, registraría el ID del usuario, el ID del elemento, la marca de tiempo (en formato de tiempo Unix) y el tipo de evento (*hacer clic* y *me gusta*). A continuación, se agregarían ambos eventos de interacción de elementos a un *conjunto de datos de interacciones de elementos*.

En todos los casos de uso de dominio y recetas personalizadas, los datos de interacciones de elemento masivos deben estar en un archivo CSV. Cada fila debe representar una interacción individual entre un usuario y un elemento. Después de finalizar la preparación de los datos, podrá crear un archivo JSON de esquema. Este archivo informa a Amazon Personalize de la estructura de los datos. Para obtener más información, consulte [Creación de archivos JSON de esquema para los esquemas de Amazon Personalize](how-it-works-dataset-schema.md).

En las siguientes secciones se proporciona más información sobre cómo preparar los datos de interacción de elemento para Amazon Personalize. Para ver las directrices de formato de datos masivos para todos los tipos de datos, consulte las [directrices de formato de datos masivos](preparing-training-data.md#general-formatting-guidelines)

**Topics**
+ [Requisitos de datos de interacciones de elemento](#item-interaction-requirements)
+ [Datos de marca temporal](#timestamp-data)
+ [Datos de valor de evento y tipo de evento](#event-type-and-event-value-data)
+ [Metadatos contextuales](#interactions-contextual-metadata)
+ [Datos de impresiones](#interactions-impressions-data)
+ [Ejemplo de datos de interacciones](#interactions-data-schema-example)

## Requisitos de datos de interacciones de elemento
<a name="item-interaction-requirements"></a>

En las siguientes secciones se enumeran los requisitos de datos de interacción de elemento para Amazon Personalize. Para conocer las cuotas adicionales, consulte [Puntos de conexión y cuotas de Amazon Personalize](limits.md).



### Requisitos de entrenamiento mínimos
<a name="item-interaction-min"></a>

En todos los casos de uso de dominio y recetas personalizadas, los datos de interacciones de elemento masivos deben tener lo siguiente: 
+ Como mínimo, 1000 registros de interacciones de elementos de los usuarios que interactúan con los elementos de su catálogo. Estas interacciones pueden provenir de importaciones masivas, de eventos transmitidos o ambos.
+ Como mínimo, 25 ID de usuarios únicos con al menos dos interacciones de elementos para cada uno.

 Para obtener recomendaciones de calidad, le sugerimos que tenga al menos 50 000 interacciones de elementos de al menos 1000 usuarios, con dos o más interacciones de elementos cada uno. 

 Para crear un recomendador o una solución personalizada, debe crear como mínimo un *conjunto de datos de interacciones de elementos*. 

### Requisitos de columna
<a name="item-interaction-columns"></a>

El conjunto de datos de interacciones de elemento debe tener las siguientes columnas.
+ USER\$1ID: identificador único del usuario que ha interactuado con el elemento. Cada evento debe tener un USER\$1ID. Debe ser una `string` con una longitud máxima de 256 caracteres.
+ ITEM\$1ID: identificador único del elemento con el que ha interactuado el usuario. Cada evento debe tener un ID de elemento. Debe ser una `string` con una longitud máxima de 256 caracteres.
+ TIMESTAMP: hora a la que se ha producido el evento (en formato de tiempo Unix en segundos). Cada interacción debe tener TIMESTAMP. Para obtener más información, consulte [Datos de marca temporal](#timestamp-data).
+ EVENT\$1TYPE: la naturaleza del evento de interacción con un elemento, como *hacer clic*, *ver* o *comprar*. Para los recomendadores de dominios, debe tener una columna de tipo de evento y cada interacción debe tener un tipo de evento. Para todas las recetas personalizadas, se recomienda una columna EVENT\$1TYPE, pero es opcional. Si lo agrega, cada evento debe tener un tipo de evento. Para obtener más información consulte () [Datos de valor de evento y tipo de evento](#event-type-and-event-value-data). 

Tiene la libertad de agregar campos personalizados adicionales según el caso de uso y los datos. El número máximo de columnas de metadatos opcionales es 5. Estas columnas pueden incluir valores vacíos o nulos. Se recomienda que estas columnas estén completadas en un 70 % como mínimo.

## Datos de marca temporal
<a name="timestamp-data"></a>

 Los datos de marca temporal deben estar en formato de tiempo Unix expresado en segundos. Por ejemplo, la marca temporal de Epoch en segundos para la fecha del 31 de julio de 2020 es 1596238243. Para convertir fechas en marcas temporales de tiempo Unix, utilice un [convertidor de tiempo, convertidor de marcas temporales Unix](https://www.epochconverter.com). 

Amazon Personalize utiliza datos de marca temporal para calcular si son recientes e identificar cualquier patrón basado en el tiempo. Ayuda a Amazon Personalize a mantener las recomendaciones actualizadas con las preferencias en constante evolución de los usuarios.

## Datos de valor de evento y tipo de evento
<a name="event-type-and-event-value-data"></a>

Un conjunto de datos de interacciones de elemento puede almacenar datos de tipo y valor de evento para cada interacción. Solo los recursos personalizados utilizan datos de valores de eventos.

### Datos de tipo de evento
<a name="item-interact-event-type"></a>

El tipo de evento de una interacción de elemento proporciona contexto sobre la naturaleza e importancia. Algunos ejemplos de tipos de eventos pueden ser *hacer clic*, *ver* o *comprar*. Amazon Personalize utiliza datos de tipo de evento, como datos de *hacer clic* o *comprar*, para identificar la intención y el interés del usuario. El número máximo de tipos de evento distintos combinados con el número total de columnas de metadatos opcionales en un conjunto de datos de interacciones de elemento es de 10. 

Para los recomendadores de dominios, debe tener una columna de tipo de evento y cada interacción debe tener un tipo de evento. Para todas las recetas personalizadas, se recomienda una columna EVENT\$1TYPE, pero es opcional. Si lo agrega, cada evento debe tener un tipo de evento.

Si crea recursos personalizados, puede elegir los eventos que se utilizarán para el entrenamiento por tipo de evento. Si el conjunto de datos tiene varios tipos de evento en una columna EVENT\$1TYPE y no proporciona ningún tipo de evento al configurar una solución personalizada, Amazon Personalize utiliza todos los datos de interacciones con artículos para el entrenamiento con la misma ponderación, con independencia del tipo. Para obtener más información, consulte [Elección de los datos de interacciones de elementos utilizados para el entrenamiento](event-values-types.md).

Si tiene varios tipos de eventos y utiliza la receta User-Personalization-v2 o Personalized-Ranking-v2, puede especificar ponderaciones distintas para los diferentes tipos al configurar una solución personalizada. Por ejemplo, puede configurar una solución para dar más peso a los eventos de compra que a los de clic. Para obtener más información, consulte [Optimización de una solución con la configuración de eventos](optimizing-solution-events-config.md).

Los siguientes casos de uso tienen requisitos de tipo de evento específicos: 

Casos de uso de dominio de VIDEO\$1ON\$1DEMAND
+ Como ha visto X, se requieren un mínimo de 1000 eventos `Watch`. 
+ Los más populares requieren un mínimo de 1000 eventos `Watch`. 

Casos de uso de dominio de ECOMMERCE
+ Los que más se han visto requieren un mínimo de 1000 eventos `View`. 
+ Los más vendidos requieren un mínimo de 1000 eventos `Purchase`. 

#### Tipos de eventos positivos y negativos
<a name="negative-event-types"></a>

 Amazon Personalize supone que cualquier interacción es positiva. Las interacciones con un tipo de evento negativo, como *no me gusta*, no impedirán necesariamente que el elemento aparezca en las recomendaciones futuras del usuario.

A continuación, se indican formas de hacer que los eventos negativos y el desinterés de los usuarios influyan en las recomendaciones:
+  Para todos los casos de uso de dominio y la receta [User-Personalization](native-recipe-new-item-USER_PERSONALIZATION.md), Amazon Personalize puede utilizar los datos de impresiones. Cuando un elemento aparece en los datos de impresiones y un usuario no los elige, es menos probable que aparezca en las recomendaciones. Para obtener más información, consulte [Datos de impresiones](#interactions-impressions-data). 
+ Si utiliza recursos personalizados e importa tipos de eventos positivos y negativos, puede centrarse únicamente en los tipos de eventos positivos y, después, filtrar los elementos con los que el usuario haya interactuado de forma negativa. Para obtener más información, consulte [Elección de los datos de interacciones de elementos utilizados para el entrenamiento](event-values-types.md) y [Recomendaciones de filtrado y segmentos de usuarios](filter.md). 

### Datos de valor de evento (recursos personalizados)
<a name="event-value-data"></a>

 Los datos de valor de evento pueden ser el porcentaje de una película que ha visto un usuario o una valoración sobre 10. Si crea soluciones personalizadas, puede elegir los registros que se utilizan para el entrenamiento según los datos de las columnas EVENT\$1TYPE y EVENT\$1VALUE. Con los recomendadores de dominios, Amazon Personalize no usa datos de valor de eventos y no puede filtrar eventos antes del entrenamiento. 

Para elegir registros según el tipo y el valor, registre los datos de tipo y valor de evento de los eventos. No todos los eventos deben tener un valor de evento. El valor que elija para cada evento depende de los datos que desee excluir y de los tipos de eventos que vaya a registrar. Por ejemplo, puede hacer coincidir la actividad del usuario, como el porcentaje de vídeo que ha visto el usuario, para los tipos de eventos *ver*. 

 Al configurar una solución, se establece un valor específico como umbral para excluir los registros del entrenamiento. Por ejemplo, si los datos EVENT\$1VALUE de los eventos con un EVENT\$1TYPE de *ver* son el porcentaje de un vídeo que ha visto un usuario, si establece el umbral del valor del evento en 0,5 y el tipo de evento en *ver*, *Amazon* Personalize entrena el modelo utilizando únicamente eventos de interacción ver con un EVENT\$1VALUE superior o igual a 0,5. 

 Para obtener más información, consulte [Elección de los datos de interacciones de elementos utilizados para el entrenamiento](event-values-types.md) 

## Metadatos contextuales
<a name="interactions-contextual-metadata"></a>

 Con determinadas recetas y casos de uso de generadores de recomendaciones, Amazon Personalize puede utilizar metadatos contextuales para identificar los patrones subyacentes que revelan los elementos más relevantes para sus usuarios. Los metadatos contextuales son datos de interacciones que se recopilan en el entorno del usuario en el momento de un evento, como su ubicación o el tipo de dispositivo. También puede especificar el contexto de un usuario cuando reciba recomendaciones para el usuario. 

Incluya metadatos contextuales para ofrecer una experiencia más personalizada a los usuarios y reducir la fase de arranque en frío para los nuevos usuarios. La fase de arranque en frío se produce cuando las recomendaciones son menos relevantes debido a la falta de datos de usuario históricos.

 Por ejemplo, si el archivo CSV de interacciones de elemento incluye una columna DEVICE\$1TYPE con los valores `tablet` y `phone`, Amazon Personalize puede aprender cómo los clientes compran de forma diferente en dispositivos distintos. Cuando reciba recomendaciones para un usuario, puede especificar el dispositivo y las recomendaciones serán más relevantes, aunque el usuario no tenga un historial de interacciones. 

 A continuación, se muestra cómo formatear un archivo CSV de interacciones de elemento con una columna DEVICE\$1TYPE como metadatos contextuales.

```
ITEM_ID,USER_ID,TIMESTAMP,DEVICE_TYPE,EVENT_TYPE
shoe12345,12,1428624000,Tablet,CLICK
shoe12346,12,1420416000,Tablet,CLICK
shoe12347,12,1410652800,Tablet,BUY
shoe4444,13,1409961600,Phone,CLICK
shoe4445,13,1402876800,Phone,BUY
shoe4336,13,1402185600,Phone,CLICK
.....
```

Para los grupos de conjuntos de datos de dominio, los siguientes casos de uso de generador de recomendaciones pueden utilizar metadatos contextuales:
+ [Recomendaciones](ECOMMERCE-use-cases.md#recommended-for-you-use-case) (dominio de ECOMMERCE)
+ [Mejores opciones](VIDEO_ON_DEMAND-use-cases.md#top-picks-use-case) (dominio de VIDEO\$1ON\$1DEMAND)

 En el caso de los recursos personalizados, entre las recetas que utilizan metadatos contextuales se incluyen las siguientes:
+  [User-Personalization-v2](native-recipe-user-personalization-v2.md) y [User-Personalization](native-recipe-new-item-USER_PERSONALIZATION.md) 
+  [Personalized-Ranking-v2](native-recipe-personalized-ranking-v2.md) y [Personalized-Ranking](native-recipe-search.md)

Para obtener información sobre cómo incluir el contexto al recibir recomendaciones, consulte [Aumento de la relevancia de las recomendaciones con metadatos contextuales](contextual-metadata.md). Para ver un ejemplo integral que muestra cómo usar metadatos contextuales, consulte la siguiente entrada del blog de AWS Machine Learning: [Increasing the relevance of your Amazon Personalize recommendations by leveraging contextual information](https://aws.amazon.com/blogs/machine-learning/increasing-the-relevance-of-your-amazon-personalize-recommendations-by-leveraging-contextual-information/). 

## Datos de impresiones
<a name="interactions-impressions-data"></a>

Las impresiones son listas de elementos que estaban visibles para un usuario cuando interactuaba con un elemento concreto (por ejemplo, al hacer clic o verlo). Si utiliza un caso de uso de dominio que ofrezca personalización o la receta [User-Personalization](native-recipe-new-item-USER_PERSONALIZATION.md), Amazon Personalize puede utilizar los datos de impresiones para guiar la exploración.

 Con la exploración, las recomendaciones incluyen algunos elementos o acciones que, por lo general, es menos probable que se recomienden al usuario, como nuevos elementos o acciones, elementos o acciones con pocas interacciones, o bien elementos o acciones menos relevantes para el usuario en función de su comportamiento anterior. Cuanto más frecuente sea la aparición de un elemento en los datos de impresiones, menos probabilidades hay de que Amazon Personalize incluya el elemento en la exploración. 

 Cuando crea un recomendador o una solución, Amazon Personalize siempre excluye los datos de impresiones del entrenamiento. Esto se debe a que Amazon Personalize no entrena los modelos con datos de impresiones. En vez de eso, los usa cuando recibe recomendaciones para guiar la exploración del usuario.

 Los valores de impresión pueden tener como máximo 1000 caracteres (incluido el carácter de barra vertical). Para los grupos de conjuntos de datos de dominio, los siguientes casos de uso de recomendador pueden utilizar datos de impresiones:
+ [Recomendaciones](ECOMMERCE-use-cases.md#recommended-for-you-use-case) (dominio de ECOMMERCE)
+ [Mejores opciones](VIDEO_ON_DEMAND-use-cases.md#top-picks-use-case) (dominio de VIDEO\$1ON\$1DEMAND)

Para obtener más información acerca de la exploración, consulte [Exploration (Exploración)](use-case-recipe-features.md#about-exploration). Amazon Personalize puede modelar dos tipos de impresiones: [Impresiones implícitas](#implicit-impressions-info) y [Impresiones explícitas](#explicit-impressions-info). 

### Impresiones explícitas
<a name="explicit-impressions-info"></a>

Las *impresiones explícitas* son impresiones que registra y envía manualmente a Amazon Personalize. Use impresiones explícitas para manipular los resultados de Amazon Personalize. El orden de los elementos no tiene ningún impacto. 

 Por ejemplo, es posible que tenga una aplicación de compras que ofrezca recomendaciones de zapatos. Si solo recomienda zapatos que se encuentren en stock actualmente, puede especificar estos elementos utilizando impresiones explícitas. Su flujo de trabajo de recomendaciones usando impresiones explícitas podría ser el siguiente:

1. Solicite recomendaciones para uno de sus usuarios mediante la API de [GetRecommendations](API_RS_GetRecommendations.md) de API Amazon Personalize.

1. Amazon Personalize genera recomendaciones para el usuario que utiliza su modelo (versión de la solución) y las devuelve en la respuesta de la API.

1. Al usuario se muestran solo los zapatos recomendados que están en stock.

1. Para importar datos incrementales en tiempo real, cuando el usuario interactúa con un par de zapatos (por ejemplo, hace clic en ellos), registra la elección en una llamada a la API de [PutEvents](API_UBS_PutEvents.md) y enumera los elementos recomendados que se encuentran en stock en el parámetro `impression`. Para ver una muestra de código, consulte [Registro de eventos de interacción de elemento con datos de impresiones](putevents-including-impressions-data.md).

   Para importar impresiones en los datos históricos de interacciones de elementos, puede enumerar las impresiones explícitas en su archivo csv y separar cada elemento con un carácter “\$1”. El carácter de la barra vertical cuenta para el límite de 1000 caracteres. Para ver un ejemplo, consulte [Formato de impresiones explícitas](#data-prep-including-explicit-impressions).

1. Amazon Personalize utiliza los datos de impresiones para guiar la exploración, donde las recomendaciones futuras incluyen nuevos zapatos con menos datos de interacciones o relevancia. 

#### Formato de impresiones explícitas
<a name="data-prep-including-explicit-impressions"></a>

Para incluir impresiones explícitas en el archivo CSV, agregue una columna IMPRESSION. Para cada interacción de elemento, agregue una lista de ID de elementos separados por una barra vertical, “\$1”. El carácter de la barra vertical cuenta para el límite de 1000 caracteres de los datos de impresiones. Si incluye impresiones explícitas en la operación [PutEvents](API_UBS_PutEvents.md), especifique los elementos en una matriz de cadenas. 

A continuación, se ofrece un breve extracto de un archivo CSV que incluye impresiones explícitas en la columna `IMPRESSION`.


| EVENT\$1TYPE | IMPRESSION | ITEM\$1ID | TIMESTAMP | USER\$1ID | 
| --- | --- | --- | --- | --- | 
| click |  73\$170\$117\$195\$196  | 73 |  1586731606  | USUARIO\$11 | 
| click |  35\$182\$178\$157\$120\$163\$11\$190\$176\$175\$149\$171\$126\$124\$125\$16  | 35 |  1586735164  | USER\$12 | 
| ... | ... | ... | ... | ... | 

La aplicación mostró elementos de usuario de `USER_1` `73`, `70`, `17`, `95` y `96`, y el usuario finalmente eligió el elemento `73`. Al crear una nueva versión de solución basada en estos datos, los elementos `70`, `17`, `95` y `96` serán recomendados con menor frecuencia al usuario `USER_1`.

### Impresiones implícitas
<a name="implicit-impressions-info"></a>

Las *impresiones implícitas* son las recomendaciones, recuperadas de Amazon Personalize, que muestra al usuario. No es necesario que el archivo CSV incluya las columnas IMPRESSION o RECOMMENDATION\$1ID para utilizar impresiones implícitas. En vez de eso, incluya las `RecommendationId` (devueltas por las operaciones [GetRecommendations](API_RS_GetRecommendations.md) y [GetPersonalizedRanking](API_RS_GetPersonalizedRanking.md)) en las solicitudes de [PutEvents](API_UBS_PutEvents.md). Amazon Personalize obtiene las impresiones implícitas en función de los datos de sus recomendaciones. 

 Por ejemplo, es posible que tenga una aplicación que proporcione recomendaciones para streaming en vídeo. El flujo de trabajo de recomendaciones que utiliza impresiones implícitas podría ser el siguiente:

1. Solicita recomendaciones de vídeo para uno de sus usuarios mediante la operación de la API de [GetRecommendations](API_RS_GetRecommendations.md) de Amazon Personalize.

1. Amazon Personalize genera recomendaciones para el usuario que utiliza su modelo (versión de la solución) y las devuelve con un `recommendationId` en la respuesta de la API.

1. Las recomendaciones de vídeo se muestran al usuario en su aplicación.

1. Cuando el usuario interactúa con un vídeo (por ejemplo, hace clic en él), registra la elección en una llamada a la API de [PutEvents](API_UBS_PutEvents.md) e incluye el `recommendationId` como parámetro. Para ver una muestra de código, consulte [Registro de eventos de interacción de elemento con datos de impresiones](putevents-including-impressions-data.md).

1. Amazon Personalize utiliza el `recommendationId` para obtener los datos de impresión de las recomendaciones de vídeo anteriores y, a continuación, los utiliza para guiar la exploración, donde las recomendaciones futuras incluyen nuevos vídeos con menos datos de interacciones o relevancia. 

   Para obtener más información sobre cómo registrar eventos con datos de impresiones implícitos, consulte [Registro de eventos de interacción de elemento con datos de impresiones](putevents-including-impressions-data.md).

## Ejemplo de datos de interacciones
<a name="interactions-data-schema-example"></a>

Los siguientes datos de interacciones representan la actividad de usuario histórica de un sitio web que transmite vídeo. Puede usar los datos para entrenar un modelo que ofrezca recomendaciones de películas basadas en los datos de interacciones de los usuarios. Tenga en cuenta que algunos valores para EVENT\$1VALUE son nulos.

```
USER_ID,ITEM_ID,EVENT_TYPE,EVENT_VALUE,TIMESTAMP
196,242,watch,.50,881250949
186,302,watch,.75,891717742
22,377,click,,878887116
244,51,click,,880606923
166,346,watch,.50,886397596
298,474,watch,.25,884182806
115,265,click,,881171488
253,465,watch,.50,891628467
305,451,watch,.75,886324817
```

Amazon Personalize requiere las columnas `USER_ID`, `ITEM_ID` y `TIMESTAMP`. `USER_ID` es el identificador de un usuario de la aplicación. `ITEM_ID` es el identificador de una película. `EVENT_TYPE` y `EVENT_VALUE` son los identificadores de las interacciones de usuario. En los datos de muestra, los eventos son `watch` y `click` y los valores son el porcentaje de un vídeo que ha visto un usuario. `TIMESTAMP` representa la hora en formato Unix en el que se produjo la compra de la película.

Después de finalizar la preparación de los datos, podrá crear un archivo JSON de esquema. Este archivo informa a Amazon Personalize de la estructura de los datos. Para obtener más información, consulte [Creación de archivos JSON de esquema para los esquemas de Amazon Personalize](how-it-works-dataset-schema.md). Este es el aspecto que tendría el archivo JSON de esquema para los datos de muestra.

```
{
  "type": "record",
  "name": "Interactions",
  "namespace": "com.amazonaws.personalize.schema",
  "fields": [
    {
      "name": "USER_ID",
      "type": "string"
    },
    {
      "name": "ITEM_ID",
      "type": "string"
    },
    { "name": "EVENT_TYPE",
      "type": "string"
    },
    {
      "name": "EVENT_VALUE",
      "type": "float"
    },
    {
      "name": "TIMESTAMP",
      "type": "long"
    }
  ],
  "version": "1.0"
}
```

# Preparación de los metadatos de elemento para el entrenamiento
<a name="items-datasets"></a>

 Los metadatos de elemento incluyen datos numéricos y categóricos sobre los elementos con los que interactúan los usuarios. Entre los metadatos de elemento se incluyen la marca temporal de creación, el precio, el género, la descripción y la disponibilidad. Importa metadatos sobre sus elementos en un *conjunto de datos de elementos* de Amazon Personalize. 

Según el caso de uso de dominio o la receta personalizada, los metadatos de elemento pueden ayudar a Amazon Personalize a recomendar elementos más relevantes a los usuarios, a predecir elementos similares de forma más precisa o a recomendar segmentos de usuarios más significativos. Y puede ayudar a Amazon Personalize a incluir nuevos elementos en las recomendaciones. Los metadatos de elemento son obligatorios para algunos casos de uso de dominio y son opcionales para todas las recetas personalizadas. Para obtener más información, consulte los requisitos de datos para el caso de uso de dominio o receta en [Correlación del caso de uso con los recursos de Amazon Personalize](use-cases-and-recipes.md).

 Cuando se realiza el entrenamiento, Amazon Personalize no usa datos de elementos de cadena no categóricos, como títulos de elemento o datos de autor. Sin embargo, la importación de estos datos aún puede mejorar las recomendaciones. Para obtener más información, consulte [Datos de cadena no categóricos](#item-string-data). 

El número máximo de elementos que Amazon Personalize tiene en cuenta durante el entrenamiento depende del caso de uso o la receta. Solo los elementos que se tienen en cuenta durante el entrenamiento pueden aparecer en las recomendaciones.
+ Para User-Personalization-v2 o Personalized-Ranking-v2, el número máximo de elementos que se tienen en cuenta en un modelo durante el entrenamiento es de cinco millones. Estos elementos provienen del conjunto de datos de elementos y de interacciones de elemento.
+ Para todos los casos de uso de dominio y recetas personalizadas distintos de User-Personalization-v2 y Personalized-Ranking-v2, el número máximo de elementos que un modelo tiene en cuenta durante el entrenamiento y la generación de recomendaciones es de 750 000.

En todos los casos de uso de dominio y recetas personalizadas, los datos de elemento masivos deben estar en un archivo CSV. Cada fila del archivo debe representar un elemento único. Después de finalizar la preparación de los datos, podrá crear un archivo JSON de esquema. Este archivo informa a Amazon Personalize de la estructura de los datos. Para obtener más información, consulte [Creación de archivos JSON de esquema para los esquemas de Amazon Personalize](how-it-works-dataset-schema.md).

En las siguientes secciones se proporciona más información sobre cómo preparar los metadatos de elemento para Amazon Personalize. Para ver las directrices de formato de datos masivos para todos los tipos de datos, consulte las [directrices de formato de datos masivos](preparing-training-data.md#general-formatting-guidelines)

**Topics**
+ [Requisitos de datos de elemento](#item-data-requirements)
+ [Datos de la marca de tiempo de creación](#creation-timestamp-data)
+ [Metadatos categóricos](#item-categorical-data)
+ [Metadatos de texto no estructurado](#text-data)
+ [Datos numéricos](#item-numerical-data)
+ [Datos de cadena no categóricos](#item-string-data)
+ [Ejemplo de metadatos de elementos](#items-data-example)

## Requisitos de datos de elemento
<a name="item-data-requirements"></a>

 A continuación, se indican los requisitos de metadatos de elemento para Amazon Personalize.

Si no está seguro de tener suficientes datos o si tiene dudas sobre la calidad, puede importar los datos a un conjunto de datos de Amazon Personalize y utilizar Amazon Personalize para analizarlos. Para obtener más información, consulte [Análisis de la calidad y la cantidad de datos en los conjuntos de datos de Amazon Personalize](analyzing-data.md).
+ Para todos los casos de uso de dominio y recetas personalizadas, debe tener una columna ITEM\$1ID que almacene el identificador único de cada elemento. Cada elemento debe tener un ID de elemento. Debe ser una `string` con una longitud máxima de 256 caracteres.
+ Para las recetas personalizadas, los datos deben tener al menos una columna de cadenas categóricas o de metadatos numéricos. Las columnas de metadatos de elemento pueden incluir valores vacíos o nulos. Se recomienda que estas columnas estén completadas en un 70 % como mínimo.
+ Para los casos de uso de dominio, las columnas obligatorias dependen del dominio. Para obtener más información, consulte [Requisitos de dominio de VIDEO\$1DEMAND](#vod-item-data-req) o [Requisitos de dominio de ECOMMERCE](#retail-item-data-req). 
+ El número máximo de columnas de metadatos es 100.

### Requisitos de dominio de VIDEO\$1DEMAND
<a name="vod-item-data-req"></a>

Para algunos casos de uso, se requieren metadatos de elemento (consulte [Casos de uso de VIDEO\$1ON\$1DEMAND](VIDEO_ON_DEMAND-use-cases.md)). Si es opcional, recomendamos importar metadatos de elemento para obtener las recomendaciones más relevantes. Si importa metadatos de elemento, los datos deben incluir las siguientes columnas:
+ ITEM\$1ID
+ GENRES (`string` categórica)
+ CREATION\$1TIMESTAMP (en formato de tiempo Unix)

 A continuación, se enumeran las columnas recomendadas adicionales y los tipos obligatorios. El tipo `null` indica que es posible que falten valores en la columna. Se recomienda que estas columnas estén completadas en un 70 % como mínimo. La inclusión de estas columnas puede mejorar las recomendaciones.
+ PRICE (float)
+ DURATION (float)
+ GENERE\$1L2 (`string` categórica, `null`)
+ GENRE\$1L3 (`string` categórica, `null`)
+ AVERAGE\$1RATING (`float`, `null`)
+ PRODUCT\$1DESCRIPTION (`string` textual, `null`)
+ CONTENT\$1OWNER (`string` categórica, `null`): empresa propietaria del vídeo. Por ejemplo, los valores pueden ser HBO, Paramount y NBC.
+ CONTENT\$1CLASSIFICATION (`string` categórica, `null`): valoración del contenido. Por ejemplo, los valores pueden ser G, PG, PG-13, R, NC-17 y no sin clasificación.

### Requisitos de dominio de ECOMMERCE
<a name="retail-item-data-req"></a>

 Los metadatos de elemento son opcionales para todos los casos de uso de ECOMMERCE. Si tiene datos de elemento, recomendamos importarlos para obtener las recomendaciones más relevantes. Si importa metadatos de elemento, los datos deben tener las siguientes columnas:
+ ITEM\$1ID
+ PRICE (`float`)
+ CATEGORY\$1L1 (`string` categórica): para obtener información sobre el formato de datos categóricos, consulte [Metadatos categóricos](#item-categorical-data).

 A continuación, se enumeran las columnas recomendadas adicionales y los tipos obligatorios. El tipo `null` indica que es posible que falten valores en la columna. Se recomienda que estas columnas estén completadas en un 70 % como mínimo. La inclusión de estas columnas puede mejorar las recomendaciones.
+ CATEGORY\$1L2 (`string`, categórica, `null`)
+ CATEGORY\$1L3 (`string`, categórica, `null`)
+ PRODUCT\$1DESCRIPTION (`string` textual, `null`)
+ CREATION\$1TIMESTAMP (`float`)
+ AGE\$1GROUP (`string` categórica, `null`): grupo de edad al que se destina el elemento. Los valores pueden ser recién nacidos, bebés, niños y adultos.
+ ADULT (`string` categórica, `null`): indica si el elemento está restringido solo a adultos, por ejemplo, las bebidas alcohólicas. Los valores pueden ser sí o no.
+ GENDER (`string` categórica, `null`): género al que va destinado el elemento. Los valores pueden ser hombre, mujer y unisex.

## Datos de la marca de tiempo de creación
<a name="creation-timestamp-data"></a>

Los datos de marca temporal de creación deben estar en formato de tiempo Unix expresado en segundos. Por ejemplo, la marca temporal de Epoch en segundos para la fecha del 31 de julio de 2020 es 1596238243. Para convertir fechas en marcas temporales de tiempo Unix, utilice un [convertidor de tiempo, convertidor de marcas temporales Unix](https://www.epochconverter.com). 

Amazon Personalize utiliza los datos de marca temporal de creación (en formato de tiempo Unix, en segundos) para calcular la antigüedad de un elemento y ajustar las recomendaciones en consecuencia.

Si faltan los datos de marca de tiempo de creación para uno o más elementos, Amazon Personalize deduce esta información a partir de los datos de interacción, si los hay, y utiliza la marca de tiempo de los datos de interacción más antiguos del elemento como la marca de tiempo de creación del elemento. Si un elemento no tiene datos de interacción, su marca de tiempo de creación se establece como la marca de tiempo de la última interacción del conjunto de entrenamiento y Amazon Personalize lo considera un elemento nuevo. 

## Metadatos categóricos
<a name="item-categorical-data"></a>

 Con determinadas recetas y casos de uso de dominio, Amazon Personalize utiliza metadatos categóricos, como el género o el color de un elemento, a la hora de identificar los patrones subyacentes que revelan los elementos más relevantes para los usuarios. Puede definir su propio rango de valores en función de su caso de uso. Los metadatos categóricos pueden estar en cualquier idioma. 

 Para los elementos con varias categorías, separe cada valor con la barra vertical, “\$1”. Por ejemplo, para un campo GENRES, los datos para un elemento podrían ser `Action|Crime|Biopic`. Si tiene varios niveles de datos categóricos y algunos elementos tienen varias categorías para cada nivel de la jerarquía, use un campo independiente para cada nivel y adjunte un indicador de nivel después del nombre de cada campo: GENRES, GENRE\$1L2, GENRE\$1L3. Esto le permite filtrar las recomendaciones en función de las subcategorías, incluso si un elemento pertenece a varias categorías de múltiples niveles (para obtener información sobre la creación y el uso de filtros, consulte [Recomendaciones de filtrado y segmentos de usuarios](filter.md)). Por ejemplo, un vídeo puede tener los siguientes datos para cada nivel de categoría: 
+ GENRES: Acción\$1Aventura
+ GENRE\$1L2: Crimen\$1Western
+ GENRE\$1L3: Biopic

En este ejemplo, el vídeo está en la jerarquía acción > crimen > biopic *y* la jerarquía aventura > western > biopic. Recomendamos usar solo hasta L3, pero puede usar más niveles si es necesario.

Los valores categóricos pueden tener una longitud máxima de 1000 caracteres. Si tiene un elemento con un valor categórico con más de 1000 caracteres, se generará un error en su trabajo de importación del conjunto de datos. Recomendamos que las columnas categóricas tengan un máximo de 1000 valores posibles. La importación de datos categóricos con más valores puede afectar negativamente a las recomendaciones. Lo siguiente puede ayudarlo a reducir el número de valores posibles de una columna categórica:
+ Asegúrese de que los valores sigan una convención de nomenclatura coherente y compruebe si hay errores tipográficos. Por ejemplo, use “Zapatos de hombre” en lugar de tener una combinación de “Zapatos de hombre”, “Zapatos para hombre” y “Calzado de hombre”.
+ Consolide categorías similares que usen términos ligeramente diferentes que se refieran a la misma categoría subyacente, como “Zapatos” y “Zapatillas”.
+ Si los datos tienen una estructura jerárquica, en la que las categorías más amplias (como “Calzado”) contienen subcategorías más específicas (como “Calzado de hombre”, “Calzado de mujer” o “Calzado de niño”), utilice una columna independiente para cada nivel y agregue un indicador de nivel después del nombre de cada campo. Por ejemplo, CATEGORY\$11, CATEGORY\$12 y CATEGORY\$13. Esto puede reducir las categorías ambiguas o superpuestas. 

Con todas las recetas y dominios, puede importar datos categóricos y usarlos para filtrar las recomendaciones en función de los atributos de un elemento. Para obtener más información acerca del filtrado de recomendaciones, consulte [Recomendaciones de filtrado y segmentos de usuarios](filter.md). 

## Metadatos de texto no estructurado
<a name="text-data"></a>

Con determinadas recetas y dominios, Amazon Personalize puede extraer información significativa de metadatos de texto no estructurado, como descripciones de productos, reseñas de productos o sinopsis de películas. Amazon Personalize utiliza texto no estructurado para identificar los elementos relevantes para los usuarios, en particular cuando los elementos son nuevos o tienen menos datos de interacciones. Puede añadir 1 campo textual como máximo. Incluya datos de texto no estructurado en su conjunto de datos de elementos para aumentar las tasas de clics y las tasas de conversación para los nuevos elementos de su catálogo. 

Cuando prepare los metadatos de texto no estructurado, escriba el texto entre comillas y elimine los caracteres de nueva línea. Utilice el carácter `\` para aplicar escape en cualquier comilla doble o carácter \$1 en los datos. Amazon Personalize trunca los campos de texto al límite de caracteres. Asegúrese de que la información más relevante del texto se encuentre al principio del campo.

Los valores de texto no estructurado pueden tener como máximo 20 000 caracteres en todos los idiomas, excepto en chino y japonés. Para el chino y el japonés, puede tener como máximo 7000 caracteres. Amazon Personalize trunca los valores que superan el límite de caracteres al límite de caracteres. 

Puede enviar elementos de texto no estructurado en varios idiomas, pero el texto de cada elemento debe estar en un solo idioma. El texto puede estar en los siguientes idiomas: 
+ Chino simplificado
+ Chino tradicional
+ Inglés
+ Francés
+ Alemán
+ Japonés
+ Portugués
+ Español

## Datos numéricos
<a name="item-numerical-data"></a>

 Amazon Personalize puede utilizar metadatos de elemento numéricos, como el precio o la duración del vídeo, a fin de generar recomendaciones más relevantes para los usuarios. Estos datos numéricos se pueden representar como números enteros o valores decimales.

Si usa las recetas personalizadas [User-Personalization](native-recipe-new-item-USER_PERSONALIZATION.md) o [Personalized-Ranking](native-recipe-search.md), puede optimizar una solución de Amazon Personalize para un objetivo relacionado con los metadatos de elemento junto con la máxima relevancia, como maximizar los ingresos. Al configurar la solución, elija la columna de metadatos numéricos del conjunto de datos de elementos que esté relacionada con el objetivo. Por ejemplo, puede elegir una columna VIDEO\$1LENGTH para maximizar los minutos de streaming o una columna PRICE para maximizar los ingresos. 

Para obtener más información, consulte [Optimización de una solución para un objetivo adicional](optimizing-solution-for-objective.md).

## Datos de cadena no categóricos
<a name="item-string-data"></a>

 A excepción de los ID de elemento, Amazon Personalize no usa datos de cadenas no categóricas al realizar el entrenamiento, como títulos de elemento o datos de autor. Sin embargo, Amazon Personalize puede usarlos con las siguientes características. Los valores no categóricos pueden tener 1000 caracteres como máximo. 
+ Amazon Personalize puede incluir metadatos de los elementos en las recomendaciones, incluidos valores de cadena no categóricos. Puede usar los metadatos para enriquecer las recomendaciones de la interfaz de usuario, por ejemplo, agregar el nombre del director al carrusel de recomendaciones de una película. Para obtener más información, consulte [Metadatos de elemento en las recomendaciones](campaigns.md#create-campaign-return-metadata).
+  Si usa [Similar-Items](native-recipe-similar-items.md), puede generar recomendaciones por lotes con temas. Al generar recomendaciones por lotes con temas, debe especificar una columna de nombre del elemento en el trabajo de inferencia por lotes. Para obtener más información, consulte [Recomendaciones por lotes con temas del Generador de contenidos](themed-batch-recommendations.md). 
+  Puede crear filtros para incluir o quitar elementos de las recomendaciones en función de los datos de cadena no categóricos. Para obtener más información acerca de los filtros, consulte [Recomendaciones de filtrado y segmentos de usuarios](filter.md). 

## Ejemplo de metadatos de elementos
<a name="items-data-example"></a>

Las primeras líneas de metadatos de películas de un archivo CSV pueden tener el siguiente aspecto.

```
ITEM_ID,GENRES,CREATION_TIMESTAMP,DESCRIPTION
1,Adventure|Animation|Children|Comedy|Fantasy,1570003267,"This is an animated movie that features action, comedy, and fantasy. Audience is children. This movie was released in 2004."
2,Adventure|Children|Fantasy,1571730101,"This is an adventure movie with elements of fantasy. Audience is children. This movie was release in 2010."
3,Comedy|Romance,1560515629,"This is a romantic comedy. The movie was released in 1999. Audience is young women."
4,Comedy|Drama|Romance,1581670067,"This movie includes elements of both comedy and drama as well as romance. This movie was released in 2020."
...
...
```

La columna `ITEM_ID` es obligatoria y almacena identificadores únicos para cada elemento individual. La columna `DESCRIPTION` almacena metadatos categóricos para cada película y la columna `GENRE` son metadatos textuales no estructurados. La columna `CREATION_TIMESTAMP` almacena la hora de creación de cada elemento en formato de tiempo Unix en segundos.

Después de finalizar la preparación de los datos, podrá crear un archivo JSON de esquema. Este archivo informa a Amazon Personalize de la estructura de los datos. Para obtener más información, consulte [Creación de archivos JSON de esquema para los esquemas de Amazon Personalize](how-it-works-dataset-schema.md). Este es el aspecto que tendría el archivo JSON de esquema para los datos de ejemplo anteriores.

```
{
  "type": "record",
  "name": "Items",
  "namespace": "com.amazonaws.personalize.schema",
  "fields": [
    {
      "name": "ITEM_ID",
      "type": "string"
    },
    {
      "name": "GENRES",
      "type": [
        "null",
        "string"
      ],
      "categorical": true
    },
    {
      "name": "CREATION_TIMESTAMP",
      "type": "long"
    },
    {
      "name": "DESCRIPTION",
      "type": [
        "null",
        "string"
      ],
      "textual": true
    }
  ],
  "version": "1.0"
}
```

# Preparación de los metadatos de usuario para el entrenamiento
<a name="users-datasets"></a>

 Los datos de usuario que puede importar en Amazon Personalize incluyen metadatos numéricos, como la edad de los usuarios, y categóricos, como el sexo o el grado de fidelización. Los metadatos sobre los usuarios se importan en un *conjunto de datos de Usuarios* de Amazon Personalize. 

Según el caso de uso de dominio o la receta personalizada, los metadatos de usuario pueden ayudar a Amazon Personalize a recomendar elementos más relevantes a los usuarios o a recomendar segmentos de usuarios más significativos. Además, después del entrenamiento, pueden ayudar al modelo a recomendar elementos a los usuarios sin datos de interacciones. Para obtener más información sobre qué casos de uso o recetas utilizan metadatos de usuario, consulte los requisitos de datos para el caso de uso de dominio o la receta en [Correlación del caso de uso con los recursos de Amazon Personalize](use-cases-and-recipes.md).

 En el entrenamiento, Amazon Personalize no usa datos de usuario de cadena no categóricos, como nombres de usuario, palabras clave sobre el usuario o etiquetas. Sin embargo, la importación de estos datos aún puede mejorar las recomendaciones. Para obtener más información, consulte [Datos de cadena no categóricos](#user-string-data). 

En todos los casos de uso de dominio y recetas personalizadas, los datos de usuario masivos deben estar en un archivo CSV. Cada fila del archivo debe representar a un usuario único. Después de finalizar la preparación de los datos, podrá crear un archivo JSON de esquema. Este archivo informa a Amazon Personalize de la estructura de los datos. Para obtener más información, consulte [Creación de archivos JSON de esquema para los esquemas de Amazon Personalize](how-it-works-dataset-schema.md).

En las siguientes secciones se proporciona más información sobre cómo preparar los datos de usuario para Amazon Personalize. Para ver las directrices de formato de datos masivos para todos los tipos de datos, consulte las [directrices de formato de datos masivos](preparing-training-data.md#general-formatting-guidelines)

**Topics**
+ [Requisitos de datos de usuario](#user-data-requirements)
+ [Metadatos categóricos](#user-categorical-data)
+ [Datos de cadena no categóricos](#user-string-data)
+ [Ejemplo de metadatos de usuarios](#users-data-example)

## Requisitos de datos de usuario
<a name="user-data-requirements"></a>

 A continuación, se indican los requisitos de datos de usuario para Amazon Personalize. Tiene la libertad de agregar campos personalizados adicionales según el caso de uso y los datos.
+ Los datos deben tener una columna USER\$1ID que almacene el identificador único de cada usuario. Cada usuario debe tener un ID de usuario. Debe ser una `string` con una longitud máxima de 256 caracteres.
+ Los datos deben tener al menos una columna de cadenas categóricas o de metadatos numéricos. Las columnas de metadatos de usuario pueden incluir valores vacíos o nulos para algunos usuarios. Se recomienda que estas columnas estén completadas en un 70 % como mínimo.
+ El número máximo de columnas de metadatos es 25.

Si no está seguro de tener suficientes datos o si tiene dudas sobre la calidad, puede importar los datos a un conjunto de datos de Amazon Personalize y utilizar Amazon Personalize para analizarlos. Para obtener más información, consulte [Análisis de la calidad y la cantidad de datos en los conjuntos de datos de Amazon Personalize](analyzing-data.md).

## Metadatos categóricos
<a name="user-categorical-data"></a>

Con algunas recetas y todos los casos de uso de dominio, Amazon Personalize utiliza metadatos categóricos, como el sexo del usuario, los intereses o el estado de pertenencia, para identificar los patrones subyacentes que revelan los elementos más relevantes para los usuarios. Puede definir su propio rango de valores en función de su caso de uso. Los metadatos categóricos pueden estar en cualquier idioma. 

Para los usuarios con varias categorías, separe cada valor con la barra vertical, “\$1”. Por ejemplo, en el caso de un campo INTERESTS, los datos de un usuario pueden ser `Movies|TV Shows|Music`.

Con todas las recetas y dominios, puede importar metadatos categóricos y utilizarlos para filtrar las recomendaciones en función de los atributos de un usuario. Para obtener información acerca del filtrado de recomendaciones, consulte [Recomendaciones de filtrado y segmentos de usuarios](filter.md). 

Los valores categóricos pueden tener 1000 caracteres como máximo. Si tiene un usuario con un valor categórico con más de 1000 caracteres, se generará un error en su trabajo de importación del conjunto de datos.

## Datos de cadena no categóricos
<a name="user-string-data"></a>

 A excepción de los ID de usuario, Amazon Personalize no usa datos de cadena no categóricos al realizar el entrenamiento, como nombres de usuario, palabras clave sobre el usuario o etiquetas. Sin embargo, Amazon Personalize puede usarlos al filtrar recomendaciones. Puede crear filtros para incluir o eliminar elementos de las recomendaciones en función de los datos de cadena no categóricos sobre el usuario para el que obtiene recomendaciones (CurrentUser). Para obtener más información acerca de los filtros, consulte [Recomendaciones de filtrado y segmentos de usuarios](filter.md). Los valores no categóricos pueden tener 1000 caracteres como máximo. 

## Ejemplo de metadatos de usuarios
<a name="users-data-example"></a>

Las primeras líneas de metadatos de usuario de un archivo CSV pueden tener el siguiente aspecto.

```
USER_ID,AGE,GENDER,INTEREST
5,34,Male,hiking
6,56,Female,music
8,65,Male,movies|TV shows|music
...
...
```

La columna `USER_ID` es obligatoria y almacena identificadores únicos para cada usuario individual. La columna `AGE` son metadatos numéricos. Las columnas `GENDER` y `INTEREST` almacenan metadatos categóricos para cada usuario. 

Después de finalizar la preparación de los datos, podrá crear un archivo JSON de esquema. Este archivo informa a Amazon Personalize de la estructura de los datos. Para obtener más información, consulte [Creación de archivos JSON de esquema para los esquemas de Amazon Personalize](how-it-works-dataset-schema.md). Este es el aspecto que tendría el archivo JSON de esquema para los datos de ejemplo anteriores.

```
{
  "type": "record",
  "name": "Users",
  "namespace": "com.amazonaws.personalize.schema",
  "fields": [
      {
          "name": "USER_ID",
          "type": "string"
      },
      {
          "name": "AGE",
          "type": "int"
      },
      {
          "name": "GENDER",
          "type": "string",
          "categorical": true
      },
      {
          "name": "INTEREST",
          "type": "string",
          "categorical": true
      }
  ],
  "version": "1.0"
}
```

# Preparación de los metadatos de acción para el entrenamiento
<a name="actions-datasets"></a>

 Una *acción* es una actividad que genera ingresos o interacción y que puede que quiera recomendar a sus usuarios. Entre las acciones puede incluirse instalar su aplicación móvil, completar un perfil de pertenencia a grupo, unirse a un programa de fidelización o registrarse para recibir correos electrónicos promocionales. Los datos sobre sus acciones se importan en un conjunto de datos de *acciones* de Amazon Personalize. Entre los ejemplos de datos de una acción se incluyen el ID único de la acción, el valor estimado de la acción o la marca temporal de caducidad de esta.

Si usa [Next-Best-Action](native-recipe-next-best-action.md), debe importar los metadatos de acción. Con esta receta, Amazon Personalize predice la siguiente mejor acción a partir de las acciones que importe en el conjunto de datos de acciones. Ninguna otra receta o caso de uso utiliza metadatos de acción. No puede crear un conjunto de datos de acciones en un grupo de conjuntos de datos de dominio. 

 Cuando se realiza el entrenamiento, Amazon Personalize no usa datos de acciones de cadena no categóricos, como títulos de acción o etiquetas. Sin embargo, la importación de estos datos aún puede mejorar las recomendaciones. Para obtener más información, consulte [Datos de cadena no categóricos](#action-string-data). 

Los datos de acción por lotes deben estar en un archivo CSV. Cada fila del archivo debe representar una acción única. Después de finalizar la preparación de los datos, podrá crear un archivo JSON de esquema. Este archivo informa a Amazon Personalize de la estructura de los datos. Para obtener más información, consulte [Creación de archivos JSON de esquema para los esquemas de Amazon Personalize](how-it-works-dataset-schema.md).

En las siguientes secciones se proporciona más información sobre cómo preparar los metadatos de acción para Amazon Personalize. Para ver las directrices de formato de datos masivos para todos los tipos de datos, consulte las [directrices de formato de datos masivos](preparing-training-data.md#general-formatting-guidelines)

**Topics**
+ [Requisitos de datos de acciones](#action-data-requirements)
+ [Datos de la marca de tiempo de caducidad de la acción](#action-expiration-timestamp-data)
+ [Datos de frecuencia de repetición](#action-repeat-frequency)
+ [Value data](#action-value-data)
+ [Datos de la marca de tiempo de creación](#action-creation-timestamp-data)
+ [Metadatos categóricos](#action-categorical-data)
+ [Datos de cadena no categóricos](#action-string-data)
+ [Ejemplo de metadatos de acción](#actions-data-example)

## Requisitos de datos de acciones
<a name="action-data-requirements"></a>

 A continuación, se indican los requisitos de datos de acciones para Amazon Personalize.
+ Debe tener una columna ACTION\$1ID que almacene el identificador único de cada acción. Cada acción debe tener un ID de elemento. Debe ser una `string` con una longitud máxima de 256 caracteres.
+ Los datos deben tener al menos una columna de cadenas categóricas o de metadatos numéricos. Las columnas de metadatos de acción pueden incluir valores vacíos o nulos. Se recomienda que estas columnas estén completadas en un 70 % como mínimo.
+ Durante el entrenamiento de modelos, Amazon Personalize tiene en cuenta un máximo de 1000 acciones. Si importa más de 1000 acciones, Amazon Personalize decide cuáles incluir en el entrenamiento, para lo que se da prioridad a las acciones nuevas (acciones que ha agregado recientemente sin interacciones) y las acciones existentes con datos de interacciones recientes.
+ El número máximo de columnas es 10.

## Datos de la marca de tiempo de caducidad de la acción
<a name="action-expiration-timestamp-data"></a>

 La marca de tiempo de caducidad de una acción especifica la fecha en la que una acción deja de ser válida. Los datos de la marca de tiempo de caducidad de la acción se proporcionan en formato de tiempo Unix, en segundos. Si una acción ha caducado, Amazon Personalize no la incluirá en las recomendaciones. 

 Especifique una marca de tiempo de caducidad para sus acciones si quiere limitar su aparición en las recomendaciones a un período de tiempo determinado. Por ejemplo, puede que tenga una aplicación que ejecute una campaña de suscripción durante un mes determinado. Puede establecer una marca de tiempo de caducidad para la acción de *inscribirse* al final de ese mes. Amazon Personalize deja de recomendar esta acción automáticamente al llegar a esa fecha. 

 Si establece la marca de tiempo de caducidad en una fecha pasada para una nueva acción, o si actualiza la marca de tiempo de una acción a una fecha pasada, pueden tardarse hasta 2 horas en quitar la acción de las recomendaciones. 

## Datos de frecuencia de repetición
<a name="action-repeat-frequency"></a>

 Los datos de frecuencia de repetición especifican cuántos días debe esperar Amazon Personalize para recomendar una acción determinada después de la interacción de un usuario, según el historial del usuario en su conjunto de datos de interacciones de acción. La frecuencia de repetición de una acción se especifica en días y el máximo es de 30. 

Por ejemplo, puede que tenga una aplicación de comercio electrónico en la que cada usuario crea una cuenta y un perfil. Si tiene una acción `complete profile` y quiere esperar una semana después de que un usuario interactúe con ella antes de volver a recomendarla, debe especificar 7 días como valor `REPEAT_FREQENCY` de la acción. Transcurridos 7 días, Amazon Personalize empieza a tener en cuenta la acción para las recomendaciones. 

 Si no se especifica la frecuencia de repetición de una acción, Amazon Personalize no establecerá ningún límite respecto al número de veces que esta aparece en las recomendaciones. 

## Value data
<a name="action-value-data"></a>

 Los datos de valor son el valor empresarial o la importancia de cada acción. El valor `value` de una acción puede oscilar entre 1 y 10, donde 10 es la acción más valiosa del conjunto de datos.

 Por ejemplo, supongamos que tiene dos acciones: una para inscribirse en la suscripción básica y otra para inscribirse en el servicio premium. Para el servicio básico, puede especificar un valor de `5` y, para el premium, un valor de `10`.

 Amazon Personalize utiliza los datos de valor como una entrada al determinar la mejor acción para recomendar a los usuarios. Por ejemplo, si un usuario tiene la misma probabilidad de realizar una acción u otra, Amazon Personalize clasifica la acción con el valor más alto en una posición superior en las recomendaciones. 

## Datos de la marca de tiempo de creación
<a name="action-creation-timestamp-data"></a>

Amazon Personalize utiliza los datos de la marca de tiempo de creación (en formato de tiempo Unix, en segundos) para calcular la antigüedad de una acción y ajustar las recomendaciones en consecuencia.

Si no tiene datos de marca de tiempo de creación, Amazon Personalize deduce esta información de los datos de interacción de la acción. Utiliza la marca de tiempo de los datos de interacción más antiguos de la acción como marca de tiempo de creación de la acción. Si una acción no tiene datos de interacción, su marca de tiempo de creación se establece como la marca de tiempo de la última interacción del conjunto de entrenamiento y Amazon Personalize la considera una acción nueva. 

## Metadatos categóricos
<a name="action-categorical-data"></a>

 Amazon Personalize utiliza metadatos categóricos sobre las acciones, como la estacionalidad o la exclusividad de las acciones, al identificar los patrones subyacentes que revelan las mejores acciones para los usuarios. Puede definir su propio rango de valores en función de su caso de uso. Los metadatos categóricos pueden estar en cualquier idioma. 

 Puede importar datos categóricos y usarlos para filtrar las recomendaciones en función de los atributos de una acción. Para obtener más información acerca del filtrado de recomendaciones, consulte [Recomendaciones de filtrado y segmentos de usuarios](filter.md). 

Los valores categóricos pueden tener una longitud máxima de 1000 caracteres. Si tiene una acción con un valor categórico con más de 1000 caracteres, se generará un error en el trabajo de importación del conjunto de datos. 

## Datos de cadena no categóricos
<a name="action-string-data"></a>

 A excepción de los ID de acción, Amazon Personalize no usa datos de cadena no categóricos al realizar el entrenamiento, como el nombre de una acción, palabras clave sobre la acción o etiquetas. Sin embargo, Amazon Personalize puede usarlos al filtrar recomendaciones. Puede crear filtros para incluir o quitar acciones de las recomendaciones en función de los datos de cadena no categóricos. Para obtener más información acerca de los filtros, consulte [Recomendaciones de filtrado y segmentos de usuarios](filter.md). Los valores no categóricos pueden tener 1000 caracteres como máximo. 

## Ejemplo de metadatos de acción
<a name="actions-data-example"></a>

Las primeras líneas de metadatos de acción de un archivo CSV pueden tener el siguiente aspecto.

```
ACTION_ID,VALUE,MEMBERSHIP_LEVEL,CREATION_TIMESTAMP,REPEAT_FREQUENCY
1,10,Deluxe|Premium,1510003267,7
2,5,Basic,1580003267,7
3,5,Preview,1590003267,3
4,10,Deluxe|Platinum,1560003267,4
...
...
```

La columna `ACTION_ID` es obligatoria. La columna `MEMBERSHIP_LEVEL` es un campo de cadena categórico. Los campos `VALUE`, `CREATION_TIMESTAMP` y `REPEAT_FREQUENCY` son palabras clave reservadas con los tipos necesarios.

 Después de finalizar la preparación de los datos, podrá crear un archivo JSON de esquema. Este archivo informa a Amazon Personalize de la estructura de los datos. Para obtener más información, consulte [Creación de archivos JSON de esquema para los esquemas de Amazon Personalize](how-it-works-dataset-schema.md). Este es el aspecto que tendría el archivo JSON de esquema para los datos de ejemplo anteriores.

```
{
  "type": "record",
  "name": "Actions",
  "namespace": "com.amazonaws.personalize.schema",
  "fields": [
    {
      "name": "ACTION_ID",
      "type": "string"
    },
    {
      "name": "VALUE",
      "type": [
        "null",
        "long"
      ]
    },
    
    {
      "name": "MEMBERSHIP_LEVEL",
      "type": [
        "null",
        "string"
      ],
      "categorical": true
    },
    
    {
      "name": "CREATION_TIMESTAMP",
      "type": "long"
    },
    {
      "name": "REPEAT_FREQUENCY",
      "type": [
        "long",
        "null"
      ]
    }
  ],
  "version": "1.0"
}
```

# Preparación de los datos de interacción de acción para el entrenamiento
<a name="action-interactions-datasets"></a>

 Si usa la receta personalizada [Next-Best-Action](native-recipe-next-best-action.md), Amazon Personalize utiliza los datos de interacciones de acción para identificar el interés de los usuarios y predecir las acciones que es más probable que realicen. Una *interacción de acción* es una interacción en la que participan un usuario y una acción del [conjunto de datos de acciones](actions-datasets.md). Por ejemplo, si cuenta con una acción para *inscribirse* en el conjunto de datos de acciones y un usuario la realiza, debe registrar el ID del usuario, el ID de la acción y la marca de tiempo, además de registrar `TAKEN` para el tipo de evento. 

Importe las interacciones de acción en un *conjunto de datos de interacciones de acción* de Amazon Personalize. Puede importar eventos de interacción de acciones en bloque con un trabajo de importación de conjuntos de datos, o bien transmitirlos en tiempo real con la operación de la API [PutActionInteractions](API_UBS_PutActionInteractions.md). No puede crear recursos de siguiente mejor acción, incluidos los conjuntos de datos de acciones e interacciones de acciones, en un grupo de conjuntos de datos de dominio.

Los datos de las interacciones de acción por lotes deben estar en un archivo CSV. Cada fila del archivo debe representar una interacción única entre un usuario y una acción. Después de finalizar la preparación de los datos, podrá crear un archivo JSON de esquema. Este archivo informa a Amazon Personalize de la estructura de los datos. Para obtener más información, consulte [Creación de archivos JSON de esquema para los esquemas de Amazon Personalize](how-it-works-dataset-schema.md).

 En las siguientes secciones se proporciona más información sobre cómo preparar los datos de interacción de acción para Amazon Personalize. Para ver las directrices de formato de datos masivos para todos los tipos de datos, consulte las [directrices de formato de datos masivos](preparing-training-data.md#general-formatting-guidelines).

**Topics**
+ [Requisitos de datos de interacciones de acción](#action-interaction-requirements)
+ [Datos de tipo de evento](#action-interaction-event-type-data)
+ [Ejemplo de datos de interacciones de acción](#action-interactions-data-schema-example)

## Requisitos de datos de interacciones de acción
<a name="action-interaction-requirements"></a>

No hay ningún requisito mínimo respecto a los datos de interacciones de acción. Le recomendamos que los importe para obtener recomendaciones de acciones de calidad. Si no tiene datos de interacción de acciones, puede crear un conjunto de datos de interacciones de este tipo vacío y registrar las interacciones de los clientes con las acciones mediante la operación de la API [PutActionInteractions](API_UBS_PutActionInteractions.md). 

Los datos de las interacciones de acción deben tener como mínimo las siguientes columnas. Tiene la libertad de agregar campos personalizados adicionales según el caso de uso y los datos.
+ USER\$1ID: identificador único del usuario que ha interactuado con el elemento. Cada evento debe tener un USER\$1ID. Debe ser una `string` con una longitud máxima de 256 caracteres.
+ ACTION\$1ID: identificador único del elemento con el que ha interactuado el usuario. Cada evento debe tener un ID de elemento. Debe ser una `string` con una longitud máxima de 256 caracteres.
+  TIMESTAMP: hora a la que se ha producido el evento (en formato de tiempo Unix en segundos). Cada interacción de acción debe tener un campo TIMESTAMP. Para obtener más información, consulte [Datos de marca temporal](interactions-datasets.md#timestamp-data).
+ EVENT\$1TYPE: indica si la acción se ha realizado, no se ha realizado o se ha visualizado. Cada interacción de acción debe tener un tipo de evento. Para obtener más información, consulte [Datos de tipo de evento](#action-interaction-event-type-data).

 Hasta que se importen los datos de interacción de acción, Amazon Personalize recomienda acciones sin personalización y las puntuaciones de propensión son de 0,0. Una acción tendrá una puntuación cuando tenga lo siguiente: 
+  Al menos 50 interacciones de acción con el tipo de evento TAKEN. 
+  Al menos 50 interacciones de acción con el tipo de evento NOT\$1TAKEN o VIEWED. 

Estas interacciones de acción deben estar presentes en el entrenamiento de la versión de solución más reciente y deben producirse en un intervalo de seis semanas a partir de la última marca temporal de interacción del conjunto de datos de interacciones de acción. 

## Datos de tipo de evento
<a name="action-interaction-event-type-data"></a>

 Amazon Personalize puede usar patrones en los datos de los tipos de eventos para identificar las acciones que es más probable que realicen los usuarios. Por ejemplo, si un cliente ignora con frecuencia una acción de suscripción por correo electrónico (que se indica con el tipo de evento NOT\$1TAKEN), Amazon Personalize puede ajustar las recomendaciones para incluir menos acciones de este tipo. 

 Solo puede usar los siguientes tipos de eventos de interacción de acciones. Amazon Personalize utiliza estos eventos para obtener información sobre el usuario y calcular qué acciones recomendar a continuación.
+ Realizado: registre los eventos como *Realizado* cuando un usuario realice una acción recomendada.
+ No realizado: registre los eventos como *No realizado* cuando el usuario decida deliberadamente no realizar la acción después de verla. Por ejemplo, si elige *No* al mostrarle la acción. Los eventos de tipo *No realizado* pueden indicar que el cliente no está interesado en la acción.
+ Visto: registre los eventos como *Visto* cuando muestre una acción al usuario antes de que tome la decisión de realizarla o no. Amazon Personalize utiliza los eventos *Visto* para obtener información sobre los intereses de los usuarios. Por ejemplo, si un usuario ve una acción pero no la realiza, puede que al usuario no le interese esta acción en el futuro. 

## Ejemplo de datos de interacciones de acción
<a name="action-interactions-data-schema-example"></a>

Las primeras líneas de un archivo CSV con datos de interacciones de acción y todas las columnas obligatorias pueden tener el siguiente aspecto.

```
USER_ID,ACTION_ID,EVENT_TYPE,TIMESTAMP
35,73,Viewed,1586731606
54,35,Not taken,1586731609
9,33,Viewed,1586735158
23,10,Taken,1586735697
27,11,Taken,1586735763
...
...
```

Después de finalizar la preparación de los datos, podrá crear un archivo JSON de esquema. Este archivo informa a Amazon Personalize de la estructura de los datos. Para obtener más información, consulte [Creación de archivos JSON de esquema para los esquemas de Amazon Personalize](how-it-works-dataset-schema.md). Este es el aspecto que tendría el archivo JSON de esquema para los datos de ejemplo anteriores.

```
{

  "type": "record",
  "name": "ActionInteractions",
  "namespace": "com.amazonaws.personalize.schema",
  "fields": [
      {
          "name": "USER_ID",
          "type": "string"
      },
      {
          "name": "ACTION_ID",
          "type": "string"
      },
      {
          "name": "EVENT_TYPE",
          "type": "string"
      },
      {
          "name": "TIMESTAMP",
          "type": "long"
      }
  ],
  "version": "1.0"
}
```