Reorganización de datos - Amazon Machine Learning

Ya no actualizamos el servicio Amazon Machine Learning ni aceptamos nuevos usuarios para él. Esta documentación está disponible para los usuarios actuales, pero ya no la actualizamos. Para obtener más información, consulte Qué es Amazon Machine Learning.

Reorganización de datos

La funcionalidad de reorganización de datos le permite crear una fuente de datos que se basa solo en una parte de los datos de entrada a los que señala. Por ejemplo, si crea un modelo de ML utilizando el asistente Crear modelo de ML en la consola de Amazon ML y elige la opción de evaluación predeterminada, Amazon ML reserva automáticamente el 30% de los datos para la evaluación de modelos de ML y utiliza el 70% restante para el entrenamiento. Esta funcionalidad se habilita a través de la característica de Reorganización de datos de Amazon ML.

Si utiliza la API de Amazon ML para crear fuentes de datos, puede especificar en qué parte de los datos de entrada se basará una nueva fuente de datos. Para ello, se transfieren las instrucciones en el parámetro DataRearrangement a las API CreateDataSourceFromS3, CreateDataSourceFromRedshift o CreateDataSourceFromRDS. El contenido de la cadena DataRearrangement es una cadena de JSON que contiene las ubicaciones de comienzo y final de sus datos, expresadas como porcentajes, una marca de complemento y una estrategia de división. Por ejemplo, la siguiente cadena DataRearrangement especifica que el primer 70% de los datos se utilizará para crear la fuente de datos:

{ "splitting": { "percentBegin": 0, "percentEnd": 70, "complement": false, "strategy": "sequential" } }

Parámetros de DataRearrangement

Para cambiar el modo en que Amazon ML crea una fuente de datos, utilice los siguientes parámetros.

PercentBegin (opcional)

Utilice percentBegin para indicar dónde comienzan los datos para la fuente de datos. Si no incluye percentBegin y percentEnd, Amazon ML incluye todos los datos al crear la fuente de datos.

Los valores válidos son 0 a 100, ambos incluidos.

PercentEnd (opcional)

Utilice percentEnd para indicar dónde acaban los datos para la fuente de datos. Si no incluye percentBegin y percentEnd, Amazon ML incluye todos los datos al crear la fuente de datos.

Los valores válidos son 0 a 100, ambos incluidos.

Complement (opcional)

El parámetro complement indica a Amazon ML que utilice los datos que no se incluyen en el rango de percentBegin a percentEnd para crear un origen de datos. El parámetro complement es útil si necesita crear fuentes de datos complementarias para formación y evaluación. Para crear una fuente de datos complementaria, utilice los mismos valores para percentBegin y percentEnd, junto con el parámetro complement.

Por ejemplo, las siguientes dos fuentes de datos no comparten ningún dato y se pueden utilizar para formar y evaluar un modelo. La primera fuente de datos tiene un 25 por ciento de los datos y la segunda el 75 por ciento de los datos.

Origen de datos para evaluación:

{ "splitting":{ "percentBegin":0, "percentEnd":25 } }

Origen de datos para entrenamiento:

{ "splitting":{ "percentBegin":0, "percentEnd":25, "complement":"true" } }

Los valores válidos son true y false.

Strategy (opcional)

Para cambiar cómo divide Amazon ML los datos de una fuente de datos, utilice el parámetro strategy.

El valor predeterminado para el parámetro strategy es sequential, lo que significa que Amazon ML toma todos los registros de datos entre los parámetros percentBegin y percentEnd del origen de datos, en el orden en el que aparecen los registros en los datos de entrada

Las siguientes dos líneas de DataRearrangement son ejemplos de fuentes de datos de formación y evaluación ordenadas de forma secuencial:

Fuente de datos para evaluación: {"splitting":{"percentBegin":70, "percentEnd":100, "strategy":"sequential"}}

Fuente de datos para formación: {"splitting":{"percentBegin":70, "percentEnd":100, "strategy":"sequential", "complement":"true"}}

Para crear una fuente de datos a partir de una selección aleatoria de los datos, defina el parámetro strategy en random y proporcione una cadena que se utilice como valor de inicio para la división aleatoria de los datos (por ejemplo, puede utilizar la ruta de S3 a los datos como la cadena de origen aleatoria). Si elige la estrategia de división aleatoria, Amazon ML asigna a cada fila de datos un número pseudoaleatorio y, a continuación, selecciona las filas que tienen un número asignado entre percentBegin y percentEnd. Los números pseudoaleatorios se asignan utilizando el desplazamiento en byte como inicio, por lo que se cambian los resultados de los datos en una división diferente. Se conserva cualquier orden existente. La estrategia de la división aleatoria garantiza que las variables en los datos de formación y evaluación se distribuyen de forma similar. Es útil en los casos en los que los datos de entrada pueden tener un orden implícito, que de otro modo haría que las fuentes de datos de formación y evaluación tuvieran registros de datos no similares.

Las siguientes dos líneas de DataRearrangement son ejemplos de fuentes de datos de entrenamiento y evaluación ordenadas de forma no secuencial:

Origen de datos para evaluación:

{ "splitting":{ "percentBegin":70, "percentEnd":100, "strategy":"random", "strategyParams": { "randomSeed":"RANDOMSEED" } } }

Origen de datos para entrenamiento:

{ "splitting":{ "percentBegin":70, "percentEnd":100, "strategy":"random", "strategyParams": { "randomSeed":"RANDOMSEED" } "complement":"true" } }

Los valores válidos son sequential y random.

(Opcional) Strategy:RandomSeed

Amazon ML utiliza randomSeed para dividir los datos. El inicio predeterminado para la API es una cadena vacía. Para especificar un inicio para la estrategia de división aleatoria, transfiérala en una cadena. Para obtener más información sobre las semillas aleatorias, consulte División aleatoria de datos en la Guía para desarrolladores de Amazon Machine Learning.

Para obtener el código de muestra que indica cómo utilizar la validación con Amazon ML visite Github Machine Learning.