

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.

# Creación de trabajos de regresión o clasificación para datos tabulares mediante la API de AutoML
<a name="autopilot-automate-model-development-create-experiment"></a>

Puede crear un trabajo de regresión o clasificación de Piloto automático para datos tabulares mediante programación llamando a la acción de API [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateAutoMLJobV2.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateAutoMLJobV2.html) en cualquier idioma compatible con Piloto automático o la AWS CLI. Lo que sigue es una colección de parámetros de solicitud de entrada obligatorios y opcionales para la acción de API `CreateAutoMLJobV2`. Puede encontrar la información alternativa de la versión anterior de esta acción, `CreateAutoMLJob`. No obstante, recomendamos usar `CreateAutoMLJobV2`. 

Para obtener información sobre cómo se traduce esta acción de API en una función en el lenguaje que usted prefiera, consulte la sección [Véase también](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateAutoMLJobV2.html#API_CreateAutoMLJobV2_SeeAlso) de `CreateAutoMLJobV2` y seleccione un SDK. Como ejemplo, para los usuarios de Python, consulte la sintaxis de solicitud completa de `[create\$1auto\$1ml\$1job\$1v2](https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/sagemaker.html#SageMaker.Client.create_auto_ml_job_v2)` en AWS SDK para Python (Boto3).

**nota**  
[CreateAutoMLJobV2](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateAutoMLJobV2.html) y [DescribeAutoMLJobV2](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_DescribeAutoMLJobV2.html) son versiones nuevas [CreateAutoMLJob](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateAutoMLJob.html)y [DescribeAutoMLJob](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_DescribeAutoMLJob.html)ofrecen compatibilidad con versiones anteriores.  
Recomendamos utilizar `CreateAutoMLJobV2`. `CreateAutoMLJobV2` puede gestionar tipos de problemas tabulares idénticos a los de su versión anterior (`CreateAutoMLJob`), así como tipos de problemas no tabulares, como la clasificación de imágenes o textos o la previsión de series temporales.

Como mínimo, todos los experimentos con datos tabulares requieren la especificación del nombre del experimento, la ubicación de los datos de entrada y salida y la especificación de los datos de destino que se van a predecir. Si lo prefiere, también puede especificar el tipo de problema que desea resolver (regresión, clasificación, clasificación multiclase), elegir su estrategia de modelado (*conjuntos apilados* u *optimización de hiperparámetros*), seleccionar la lista de algoritmos utilizados por el trabajo de Piloto automático para entrenar los datos, etc. 

 Tras la ejecución del experimento, puede comparar las pruebas y ahondar en los detalles de los pasos de preprocesamiento, los algoritmos y los rangos de hiperparámetros de cada modelo. También tiene la opción de descargar sus informes de [explicabilidad](https://docs.aws.amazon.com/sagemaker/latest/dg/autopilot-explainability.html) y [rendimiento](https://docs.aws.amazon.com/sagemaker/latest/dg/autopilot-model-insights.html). Utilice los [cuadernos](https://docs.aws.amazon.com/sagemaker/latest/dg/autopilot-automate-model-development-notebook-output.html ) proporcionados para ver los resultados de la exploración automática de datos o las definiciones de los modelos candidatos.

Para obtener instrucciones sobre cómo migrar un `CreateAutoMLJob` a `CreateAutoMLJobV2`, vaya a [Migre a V2 CreateAuto MLJob CreateAuto MLJob](#autopilot-create-experiment-api-migrate-v1-v2).

## Parámetros necesarios
<a name="autopilot-create-experiment-api-required-params"></a>

------
#### [ CreateAutoMLJobV2 ]

Al llamar a `[CreateAutoMLJobV2](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateAutoMLJobV2.html)` para crear un experimento de Piloto automático para datos tabulares, debe proporcionar los siguientes valores:
+ Un `[AutoMLJobName](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateAutoMLJobV2.html#API_CreateAutoMLJobV2_RequestSyntax)` para especificar el nombre del trabajo.
+ Al menos un `[AutoMLJobChannel](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_AutoMLJobChannel.html)` en `[AutoMLJobInputDataConfig](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateAutoMLJobV2.html#sagemaker-CreateAutoMLJobV2-request-AutoMLJobInputDataConfig)` para especificar el origen de datos.
+ Una métrica `[AutoMLJobObjective](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateAutoMLJobV2.html#sagemaker-CreateAutoMLJobV2-request-AutoMLJobObjective)` y el tipo de problema de aprendizaje supervisado que haya elegido (clasificación binaria, clasificación multiclase, regresión) en `AutoMLProblemTypeConfig` o ninguno. En el caso de los datos tabulares, debe elegir `[TabularJobConfig](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_TabularJobConfig.html)` como el tipo de `[AutoMLProblemTypeConfig](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateAutoMLJobV2.html#sagemaker-CreateAutoMLJobV2-request-AutoMLProblemTypeConfig)`. Defina el problema de aprendizaje supervisado en el atributo `ProblemType` de `TabularJobConfig`.
+ Una `[OutputDataConfig](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_AutoMLOutputDataConfig.html)` para especificar la ruta de salida de Amazon S3 a fin de almacenar los artefactos de su trabajo de AutoML.
+ Un `[RoleArn](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateAutoMLJob.html#sagemaker-CreateAutoMLJob-request-RoleArn)` para especificar el ARN del rol utilizado para acceder a sus datos.

------
#### [ CreateAutoMLJob ]

Al llamar a `[CreateAutoMLJob](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateAutoMLJob.html)` para crear un experimento de AutoML, debe proporcionar los siguientes valores:
+ Un `[AutoMLJobName](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateAutoMLJob.html#sagemaker-CreateAutoMLJob-request-AutoMLJobName)` para especificar el nombre del trabajo.
+ Al menos un `[AutoMLChannel](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_AutoMLChannel.html)` en `[InputDataConfig](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateAutoMLJob.html#sagemaker-CreateAutoMLJob-request-InputDataConfig)` para especificar el origen de datos.
+ Una `[OutputDataConfig](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_AutoMLOutputDataConfig.html)` para especificar la ruta de salida de Amazon S3 a fin de almacenar los artefactos de su trabajo de AutoML.
+ Un `[RoleArn](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateAutoMLJob.html#sagemaker-CreateAutoMLJob-request-RoleArn)` para especificar el ARN del rol utilizado para acceder a sus datos.

------

Todos los demás parámetros son opcionales.

## Parámetros opcionales
<a name="autopilot-create-experiment-api-optional-params"></a>

En las siguientes secciones, se proporcionan detalles sobre algunos parámetros opcionales que puede transferir a su acción de API `CreateAutoMLJobV2` cuando utilice datos tabulares. Puede encontrar la información alternativa de la versión anterior de esta acción, `CreateAutoMLJob`. No obstante, recomendamos usar `CreateAutoMLJobV2`.

### Cómo configurar el modo de entrenamiento de un trabajo de AutoML
<a name="autopilot-set-training-mode"></a>

En el caso de los datos tabulares, el conjunto de algoritmos que se ejecutan en sus datos para entrenar a los candidatos a modelo depende de su estrategia de modelado (`ENSEMBLING` o `HYPERPARAMETER_TUNING`). A continuación, se detalla cómo configurar este modo de entrenamiento.

Si lo deja en blanco (o `null`), el `Mode` se inferirá en función del tamaño del conjunto de datos.

Para obtener información sobre los métodos de entrenamiento para la *optimización de hiperparámetros* y los *conjuntos apilados* de Piloto automático, consulte [Modos de entrenamiento y compatibilidad con algoritmos](autopilot-model-support-validation.md).

------
#### [ CreateAutoMLJobV2 ]

En el caso de los datos tabulares, debe elegir `[TabularJobConfig](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_TabularJobConfig.html)` como el tipo de `[AutoMLProblemTypeConfig](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateAutoMLJobV2.html#sagemaker-CreateAutoMLJobV2-request-AutoMLProblemTypeConfig)`.

Puede configurar el [método de entrenamiento](https://docs.aws.amazon.com/sagemaker/latest/dg/autopilot-model-support-validation.html) de un trabajo de AutoML V2 con el parámetro `[TabularJobConfig.Mode](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_TabularJobConfig.html)`.

------
#### [ CreateAutoMLJob ]

Puede configurar el [método de entrenamiento](https://docs.aws.amazon.com/sagemaker/latest/dg/autopilot-model-support-validation.html) de un trabajo de AutoML con el parámetro `[AutoMLJobConfig.Mode](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_AutoMLJobConfig.html#sagemaker-Type-AutoMLJobConfig-Mode)`.

------

### Cómo seleccionar características y algoritmos para entrenar un trabajo de AutoML
<a name="autopilot-feature-selection"></a>

#### Selección de características
<a name="autopilot-automl-job-feature-selection-api"></a>

Piloto automático proporciona pasos automáticos de preprocesamiento de datos, como la selección y extracción de características. Sin embargo, puede proporcionar manualmente las características que se utilizarán en el entrenamiento con el atributo `FeatureSpecificatioS3Uri`.

Las características seleccionadas deben estar incluidas en un archivo JSON con el siguiente formato:

```
{ "FeatureAttributeNames":["col1", "col2", ...] }
```

Los valores enumerados en `["col1", "col2", ...]` distinguen entre mayúsculas y minúsculas. Deben ser una lista de cadenas que contengan valores únicos que sean subconjuntos de los nombres de columna de los datos de entrada.

**nota**  
La lista de columnas proporcionada como características no puede incluir la columna de destino.

------
#### [ CreateAutoMLJobV2 ]

En el caso de los datos tabulares, debe elegir `[TabularJobConfig](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_TabularJobConfig.html)` como el tipo de `[AutoMLProblemTypeConfig](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateAutoMLJobV2.html#sagemaker-CreateAutoMLJobV2-request-AutoMLProblemTypeConfig)`.

Puede establecer la URL de las características seleccionadas con el parámetro `[TabularJobConfig.FeatureSpecificationS3Uri](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_TabularJobConfig.html)`.

------
#### [ CreateAutoMLJob ]

Puedes configurar el `FeatureSpecificatioS3Uri` atributo [Auto MLCandidate GenerationConfig](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_AutoMLCandidateGenerationConfig.html) en la [CreateAutoMLJob](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateAutoMLJob.html)API con el siguiente formato:

```
{
    "[AutoMLJobConfig](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateAutoMLJob.html#sagemaker-CreateAutoMLJob-request-AutoMLJobConfig)": {
        "[CandidateGenerationConfig](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_AutoMLJobConfig.html#sagemaker-Type-AutoMLJobConfig-CandidateGenerationConfig)": {
            "[FeatureSpecificationS3Uri](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_AutoMLCandidateGenerationConfig.html#sagemaker-Type-AutoMLCandidateGenerationConfig-FeatureSpecificationS3Uri)":"string"
            },
       }
  }
```

------

#### Selección de algoritmos
<a name="autopilot-automl-job-algorithms-selection-api"></a>

De forma predeterminada, el trabajo de Piloto automático ejecuta una lista predefinida de algoritmos en su conjunto de datos para entrenar a los candidatos a modelos. La lista de algoritmos depende del modo de entrenamiento (`ENSEMBLING` o `HYPERPARAMETER_TUNING`) utilizado por el trabajo.

Puede proporcionar un subconjunto de la selección de algoritmos predeterminada.

------
#### [ CreateAutoMLJobV2 ]

En el caso de los datos tabulares, debe elegir `[TabularJobConfig](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_TabularJobConfig.html)` como el tipo de `[AutoMLProblemTypeConfig](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateAutoMLJobV2.html#sagemaker-CreateAutoMLJobV2-request-AutoMLProblemTypeConfig)`.

Puede especificar una matriz de seleccionados `AutoMLAlgorithms` en el `AlgorithmsConfig` atributo de [CandidateGenerationConfig](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CandidateGenerationConfig.html).

Lo que sigue es un ejemplo de atributo `AlgorithmsConfig` que enumera exactamente tres algoritmos (“xgboost”, “fastai” y “catboost”) en su campo `AutoMLAlgorithms` para el modo de entrenamiento de ensamblaje.

```
{
   "[AutoMLProblemTypeConfig](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateAutoMLJobV2.html#sagemaker-CreateAutoMLJobV2-request-AutoMLProblemTypeConfig)": {
        "[TabularJobConfig](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_TabularJobConfig.html)": {
          "[Mode](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_TabularJobConfig.html)": "ENSEMBLING",
          "[CandidateGenerationConfig](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CandidateGenerationConfig.html)": {
            "[AlgorithmsConfig](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CandidateGenerationConfig.html#sagemaker-Type-CandidateGenerationConfig-AlgorithmsConfig)":[
               {"[AutoMLAlgorithms](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_AutoMLAlgorithmConfig.html)":["xgboost", "fastai", "catboost"]}
            ]
         },
       },
     },
  }
```

------
#### [ CreateAutoMLJob ]

Puede especificar una matriz de seleccionados `AutoMLAlgorithms` en el `AlgorithmsConfig` atributo de [Auto MLCandidate GenerationConfig](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_AutoMLCandidateGenerationConfig.html).

Lo que sigue es un ejemplo de atributo `AlgorithmsConfig` que enumera exactamente tres algoritmos (“xgboost”, “fastai” y “catboost”) en su campo `AutoMLAlgorithms` para el modo de entrenamiento de ensamblaje.

```
{
   "[AutoMLJobConfig](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateAutoMLJob.html#sagemaker-CreateAutoMLJob-request-AutoMLJobConfig)": {
        "[CandidateGenerationConfig](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_AutoMLJobConfig.html#sagemaker-Type-AutoMLJobConfig-CandidateGenerationConfig)": {
            "[AlgorithmsConfig](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_AutoMLCandidateGenerationConfig.html#sagemaker-Type-AutoMLCandidateGenerationConfig-AlgorithmsConfig)":[
               {"[AutoMLAlgorithms](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_AutoMLAlgorithmConfig.html#sagemaker-Type-AutoMLAlgorithmConfig-AutoMLAlgorithms)":["xgboost", "fastai", "catboost"]}
            ]
         },
     "Mode": "ENSEMBLING" 
  }
```

------

Para ver la lista de algoritmos disponibles por `Mode` de entrenamiento, consulte [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_AutoMLAlgorithmConfig.html#sagemaker-Type-AutoMLAlgorithmConfig-AutoMLAlgorithms](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_AutoMLAlgorithmConfig.html#sagemaker-Type-AutoMLAlgorithmConfig-AutoMLAlgorithms). Para obtener información sobre cada algoritmo, consulte [Modos de entrenamiento y compatibilidad con algoritmos](autopilot-model-support-validation.md).

### Cómo especificar los conjuntos de datos de entrenamiento y validación de un trabajo de AutoML
<a name="autopilot-data-sources-training-or-validation"></a>

Puede proporcionar su propio conjunto de datos de validación y una tasa de división de datos personalizada, o puede dejar que Piloto automático divida el conjunto de datos automáticamente.

------
#### [ CreateAutoMLJobV2 ]

Cada [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_AutoMLJobChannel.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_AutoMLJobChannel.html)objeto (consulte el parámetro obligatorio [Auto MLJob InputDataConfig](https://docs.aws.amazon.com/sagemaker-api/src/AWSSageMakerAPIDoc/build/server-root/sagemaker/latest/APIReference/API_CreateAutoMLJobV2.html#sagemaker-CreateAutoMLJobV2-request-AutoMLJobInputDataConfig)) tiene una`ChannelType`, que se puede configurar en `training` `validation` valores que especifican cómo se utilizarán los datos al crear un modelo de aprendizaje automático. Debe proporcionar al menos un origen de datos y un máximo de dos: uno para los datos de entrenamiento y otro para los datos de validación.

La forma de dividir los datos en conjuntos de datos de entrenamiento y validación depende de si tiene uno o dos orígenes de datos.
+ Si solo tiene **un origen de datos**, el `ChannelType` se establece en `training` de forma predeterminada y debe tener este valor.
  + Si el valor `ValidationFraction` en [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_AutoMLDataSplitConfig.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_AutoMLDataSplitConfig.html) no está establecido, el 20 % (0,2) de los datos de este origen se utiliza para la validación de forma predeterminada. 
  + Si la `ValidationFraction` se establece en un valor entre 0 y 1, el conjunto de datos se divide en función del valor especificado, donde el valor especifica la fracción del conjunto de datos utilizada para la validación.
+ Si tiene **dos orígenes de datos**, el `ChannelType` de uno de los objetos de `AutoMLJobChannel` debe establecerse en `training`, el valor predeterminado. El `ChannelType` del otro origen de datos debe estar establecido en `validation`. Los dos orígenes de datos deben tener el mismo formato, CSV o Parquet, y el mismo esquema. En este caso, no debe establecer el valor de `ValidationFraction`, ya que todos los datos de cada origen se utilizan para el entrenamiento o la validación. Si se configura este valor, se producirá un error.

------
#### [ CreateAutoMLJob ]

Cada [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_AutoMLChannel.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_AutoMLChannel.html)objeto (consulte el parámetro necesario [InputDataConfig](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateAutoMLJob.html#sagemaker-CreateAutoMLJob-request-InputDataConfig)) tiene un`ChannelType`, que se puede configurar en `validation` valores que especifican cómo se van a utilizar los datos al crear un modelo de aprendizaje automático. `training` Debe proporcionar al menos un origen de datos y un máximo de dos: uno para los datos de entrenamiento y otro para los datos de validación.

La forma de dividir los datos en conjuntos de datos de entrenamiento y validación depende de si tiene uno o dos orígenes de datos.
+ Si solo tiene **un origen de datos**, el `ChannelType` se establece en `training` de forma predeterminada y debe tener este valor.
  + Si el valor `ValidationFraction` en [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_AutoMLDataSplitConfig.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_AutoMLDataSplitConfig.html) no está establecido, el 20 % (0,2) de los datos de este origen se utiliza para la validación de forma predeterminada. 
  + Si la `ValidationFraction` se establece en un valor entre 0 y 1, el conjunto de datos se divide en función del valor especificado, donde el valor especifica la fracción del conjunto de datos utilizada para la validación.
+ Si tiene **dos orígenes de datos**, el `ChannelType` de uno de los objetos de `AutoMLChannel` debe establecerse en `training`, el valor predeterminado. El `ChannelType` del otro origen de datos debe estar establecido en `validation`. Los dos orígenes de datos deben tener el mismo formato, CSV o Parquet, y el mismo esquema. En este caso, no debe establecer el valor de `ValidationFraction`, ya que todos los datos de cada origen se utilizan para el entrenamiento o la validación. Si se configura este valor, se producirá un error.

------

Para obtener información sobre la validación dividida y cruzada en Piloto automático, consulte [Validación cruzada en Piloto automático](autopilot-metrics-validation.md#autopilot-cross-validation).

### Cómo configurar el tipo de problema de un trabajo de AutoML
<a name="autopilot-set-problem-type-api"></a>

------
#### [ CreateAutoMLJobV2 ]

En el caso de los datos tabulares, debe elegir `[TabularJobConfig](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_TabularJobConfig.html)` como el tipo de `[AutoMLProblemTypeConfig](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateAutoMLJobV2.html#sagemaker-CreateAutoMLJobV2-request-AutoMLProblemTypeConfig)`.

Puede especificar con más detalle el tipo de problema de aprendizaje supervisado (clasificación binaria, clasificación multiclase, regresión) disponible para los candidatos a modelo de su trabajo de AutoML V2 con el parámetro `[TabularJobConfig.ProblemType](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_TabularJobConfig.html)`.

------
#### [ CreateAutoMLJob ]

Puede establecer el [tipo de problema](https://docs.aws.amazon.com/sagemaker/latest/dg/autopilot-datasets-problem-types.html#autopilot-problem-types) de un trabajo de AutoML con el parámetro `[CreateAutoPilot.ProblemType](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateAutoMLJob.html#sagemaker-CreateAutoMLJob-request-ProblemType)`. Esto limita el tipo de preprocesamiento y algoritmos que Piloto automático intenta. Cuando finalice el trabajo, si había establecido el `[CreateAutoPilot.ProblemType](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateAutoMLJob.html#sagemaker-CreateAutoMLJob-request-ProblemType)`, el `[ResolvedAttribute.ProblemType](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_ResolvedAttributes.html)` coincidirá con el `ProblemType` que ha establecido. Si lo deja en blanco (o `null`), el `ProblemType` se inferirá automáticamente. 

------

**nota**  
En algunos casos, Piloto automático no puede inferir el `ProblemType` con un nivel suficiente de confianza; en esos casos, debe proporcionar el valor para que el trabajo se complete correctamente.

### Cómo añadir ponderaciones de muestra a un trabajo de AutoML
<a name="autopilot-add-sample-weights-api"></a>

Puede añadir una columna de ponderaciones de muestra a su conjunto de datos tabular y, a continuación, pasarla a su trabajo de AutoML para solicitar que las filas del conjunto de datos se ponderen durante el entrenamiento y la evaluación.

El soporte para ponderaciones de muestra solo está disponible en el [modo de ensamblaje](https://docs.aws.amazon.com/sagemaker/latest/dg/autopilot-model-support-validation.html#autopilot-training-mode). Las ponderaciones deben ser numéricas y no negativas. Se excluyen los puntos de datos con un valor de ponderación no válido o nulo. Para obtener más información sobre las métricas disponibles, consulte [Métricas ponderadas en Piloto automático](autopilot-metrics-validation.md#autopilot-weighted-metrics).

------
#### [ CreateAutoMLJobV2 ]

En el caso de los datos tabulares, debe elegir `[TabularJobConfig](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_TabularJobConfig.html)` como el tipo de `[AutoMLProblemTypeConfig](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateAutoMLJobV2.html#sagemaker-CreateAutoMLJobV2-request-AutoMLProblemTypeConfig)`.

Para establecer los pesos de las muestras al crear un experimento (consulte la sección [CreateAutoMLJobV2](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateAutoMLJobV2.html)), puede introducir el nombre de la columna de pesos de las muestras en el `SampleWeightAttributeName` atributo del `TabularJobConfig` objeto. Esto garantiza que la métrica objetivo utilice las ponderaciones para el entrenamiento, la evaluación y la selección de los modelos candidatos.

------
#### [ CreateAutoMLJob ]

Para establecer los pesos de las muestras al crear un experimento (consulte [CreateAutoMLJob](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateAutoMLJob.html)), puede introducir el nombre de la columna de pesos de las muestras en el `SampleWeightAttributeName` atributo del MLChannel objeto [Auto](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_AutoMLChannel.html). Esto garantiza que la métrica objetivo utilice las ponderaciones para el entrenamiento, la evaluación y la selección de los modelos candidatos.

------

### Configuración de AutoML para iniciar un trabajo remoto en EMR sin servidor para conjuntos de datos grandes
<a name="autopilot-set-emr-serverless-api-tabular"></a>

Puede configurar su trabajo de AutoML V2 para iniciar automáticamente un trabajo remoto en Amazon EMR sin servidor cuando se necesiten recursos de computación adicionales para procesar conjuntos de datos de gran tamaño. Al realizar una transición sin problemas a EMR sin servidor cuando es necesario, el trabajo de AutoML puede gestionar conjuntos de datos que, de otro modo, superarían los recursos aprovisionados inicialmente, sin ninguna intervención manual por su parte. EMR sin servidor está disponible para los tipos de problemas tabulares y de series temporales. Recomendamos configurar esta opción para conjuntos de datos tabulares de más de 5 GB.

Para permitir que el trabajo de AutoML V2 pase automáticamente a EMR sin servidor para conjuntos de datos grandes, debe proporcionar un objeto `EmrServerlessComputeConfig`, que incluya un campo `ExecutionRoleARN`, para el `AutoMLComputeConfig` de la solicitud de entrada del trabajo AutoML V2.

`ExecutionRoleARN` es el ARN del rol de IAM que otorga al trabajo de AutoML V2 los permisos necesarios para ejecutar los trabajos de EMR sin servidor.

Este rol debe tener la siguiente relación de confianza:

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Principal": {
                "Service": "emr-serverless.amazonaws.com"
            },
            "Action": "sts:AssumeRole"
        }
    ]
}
```

------

Y conceder los permisos para:
+ Crear, enumerar y actualizar aplicaciones de EMR sin servidor.
+ Iniciar, enumere, obtener o cancelar las ejecuciones de trabajos en una aplicación EMR sin servidor.
+ Etiquetar los recursos EMR sin servidor.
+ Pasar un rol de IAM al servicio de EMR sin servidor para su ejecución.

  Al conceder el permiso `iam:PassRole`, el trabajo de AutoML V2 puede asumir temporalmente el rol `EMRServerlessRuntimeRole-*` y pasarlo al servicio de EMR sin servidor. Estas son las funciones de IAM que utilizan los entornos de ejecución de trabajos sin servidor de EMR para acceder a AWS otros servicios y recursos necesarios durante el tiempo de ejecución, como Amazon S3 para el acceso a los datos, el registro CloudWatch , AWS Glue el acceso al catálogo de datos u otros servicios en función de sus requisitos de carga de trabajo.

  Consulte [Roles en tiempo de ejecución de trabajo para Amazon EMR sin servidor](https://docs.aws.amazon.com/emr/latest/EMR-Serverless-UserGuide/security-iam-runtime-role.html) para obtener más información sobre los permisos de este rol.

La política de IAM definida en el documento JSON proporcionado concede esos permisos:

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [{
            "Sid": "EMRServerlessCreateApplicationOperation",
            "Effect": "Allow",
            "Action": "emr-serverless:CreateApplication",
            "Resource": "arn:aws:emr-serverless:*:*:/*",
            "Condition": {
                "StringEquals": {
                    "aws:RequestTag/sagemaker:is-canvas-resource": "True",
                    "aws:ResourceAccount": "${aws:PrincipalAccount}"
                }
            }
        },
        {
            "Sid": "EMRServerlessListApplicationOperation",
            "Effect": "Allow",
            "Action": "emr-serverless:ListApplications",
            "Resource": "arn:aws:emr-serverless:*:*:/*",
            "Condition": {
                "StringEquals": {
                    "aws:ResourceAccount": "${aws:PrincipalAccount}"
                }
            }
        },
        {
            "Sid": "EMRServerlessApplicationOperations",
            "Effect": "Allow",
            "Action": [
                "emr-serverless:UpdateApplication",
                "emr-serverless:GetApplication"
            ],
            "Resource": "arn:aws:emr-serverless:*:*:/applications/*",
            "Condition": {
                "StringEquals": {
                    "aws:ResourceTag/sagemaker:is-canvas-resource": "True",
                    "aws:ResourceAccount": "${aws:PrincipalAccount}"
                }
            }
        },
        {
            "Sid": "EMRServerlessStartJobRunOperation",
            "Effect": "Allow",
            "Action": "emr-serverless:StartJobRun",
            "Resource": "arn:aws:emr-serverless:*:*:/applications/*",
            "Condition": {
                "StringEquals": {
                    "aws:RequestTag/sagemaker:is-canvas-resource": "True",
                    "aws:ResourceAccount": "${aws:PrincipalAccount}"
                }
            }
        },
        {
            "Sid": "EMRServerlessListJobRunOperation",
            "Effect": "Allow",
            "Action": "emr-serverless:ListJobRuns",
            "Resource": "arn:aws:emr-serverless:*:*:/applications/*",
            "Condition": {
                "StringEquals": {
                    "aws:ResourceTag/sagemaker:is-canvas-resource": "True",
                    "aws:ResourceAccount": "${aws:PrincipalAccount}"
                }
            }
        },
        {
            "Sid": "EMRServerlessJobRunOperations",
            "Effect": "Allow",
            "Action": [
                "emr-serverless:GetJobRun",
                "emr-serverless:CancelJobRun"
            ],
            "Resource": "arn:aws:emr-serverless:*:*:/applications/*/jobruns/*",
            "Condition": {
                "StringEquals": {
                    "aws:ResourceTag/sagemaker:is-canvas-resource": "True",
                    "aws:ResourceAccount": "${aws:PrincipalAccount}"
                }
            }
        },
        {
            "Sid": "EMRServerlessTagResourceOperation",
            "Effect": "Allow",
            "Action": "emr-serverless:TagResource",
            "Resource": "arn:aws:emr-serverless:*:*:/*",
            "Condition": {
                "StringEquals": {
                    "aws:RequestTag/sagemaker:is-canvas-resource": "True",
                    "aws:ResourceAccount": "${aws:PrincipalAccount}"
                }
            }
        },
        {
            "Sid": "IAMPassOperationForEMRServerless",
            "Effect": "Allow",
            "Action": "iam:PassRole",
            "Resource": "arn:aws:iam::*:role/EMRServerlessRuntimeRole-*",
            "Condition": {
                "StringEquals": {
                    "iam:PassedToService": "emr-serverless.amazonaws.com",
                    "aws:ResourceAccount": "${aws:PrincipalAccount}"
                }
            }
         }
    ]
}
```

------

## Migre a V2 CreateAuto MLJob CreateAuto MLJob
<a name="autopilot-create-experiment-api-migrate-v1-v2"></a>

Recomendamos a los usuarios de `CreateAutoMLJob` que migren a `CreateAutoMLJobV2`.

En esta sección, se explican las diferencias entre los parámetros de entrada [CreateAutoMLJob](https://docs.aws.amazon.com/sagemaker-api/src/AWSSageMakerAPIDoc/build/server-root/sagemaker/latest/APIReference/API_CreateAutoMLJob.html#API_CreateAutoMLJob_RequestSyntax)y la [CreateAutoMLJobV2](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateAutoMLJobV2.html#API_CreateAutoMLJobV2_RequestSyntax), destacando los cambios en la posición, el nombre o la estructura de los objetos y los atributos de la solicitud de entrada entre las dos versiones.
+ **Atributos de solicitud que no han cambiado de una versión a otra.**

  ```
  {
     "AutoMLJobName": "string",
     "AutoMLJobObjective": { 
        "MetricName": "string"
     },
     "ModelDeployConfig": { 
        "AutoGenerateEndpointName": boolean,
        "EndpointName": "string"
     },
     "OutputDataConfig": { 
        "KmsKeyId": "string",
        "S3OutputPath": "string"
     },
     "RoleArn": "string",
     "Tags": [ 
        { 
           "Key": "string",
           "Value": "string"
        }
     ]
  }
  ```
+ **Atributos de solicitud que han cambiado de posición y estructura entre versiones.**

  Los atributos `DataSplitConfig`, `Security Config`, `CompletionCriteria`, `Mode`, `FeatureSpecificationS3Uri`, `SampleWeightAttributeName` y `TargetAttributeName` han cambiado de posición.

------
#### [ CreateAutoMLJob ]

  ```
  { 
      "AutoMLJobConfig": { 
          "Mode": "string",
          "CompletionCriteria": { 
              "MaxAutoMLJobRuntimeInSeconds": number,
              "MaxCandidates": number,
              "MaxRuntimePerTrainingJobInSeconds": number
          },
          "DataSplitConfig": { 
              "ValidationFraction": number
          },
          "SecurityConfig": { 
              "EnableInterContainerTrafficEncryption": boolean,
              "VolumeKmsKeyId": "string",
              "VpcConfig": { 
              "SecurityGroupIds": [ "string" ],
              "Subnets": [ "string" ]
              }
          },
          "CandidateGenerationConfig": { 
              "FeatureSpecificationS3Uri": "string"
          }
      },
      "GenerateCandidateDefinitionsOnly": boolean,
      "ProblemType": "string"
  }
  ```

------
#### [ CreateAutoMLJobV2 ]

  ```
  {       
      "AutoMLProblemTypeConfig": {
          "TabularJobConfig": {
              "Mode": "string",
              "ProblemType": "string",
              "GenerateCandidateDefinitionsOnly": boolean,
              "CompletionCriteria": { 
                  "MaxAutoMLJobRuntimeInSeconds": number,
                  "MaxCandidates": number,
                  "MaxRuntimePerTrainingJobInSeconds": number
              },
              "FeatureSpecificationS3Uri": "string",
              "SampleWeightAttributeName": "string",
              "TargetAttributeName": "string"
          }
      },
      "DataSplitConfig": { 
          "ValidationFraction": number
      },
      "SecurityConfig": { 
          "EnableInterContainerTrafficEncryption": boolean,
          "VolumeKmsKeyId": "string",
          "VpcConfig": { 
              "SecurityGroupIds": [ "string" ],
              "Subnets": [ "string" ]
          }
      }
  }
  ```

------
+ **Los siguientes atributos han cambiado de posición y estructura entre versiones.**

  El siguiente JSON ilustra cómo funciona [Auto MLJob Config. CandidateGenerationConfig](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_AutoMLJobConfig.html#sagemaker-Type-AutoMLJobConfig-CandidateGenerationConfig)del tipo [Auto MLCandidate GenerationConfig](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_AutoMLCandidateGenerationConfig.html) se movió a [Auto MLProblemTypeConfig. TabularJobConfig. CandidateGenerationConfig](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateAutoMLJobV2.html#API_CreateAutoMLJobV2_RequestSyntax)de tipo [CandidateGenerationConfig](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CandidateGenerationConfig.html)en V2.

------
#### [ CreateAutoMLJob ]

  ```
  {
     "AutoMLJobConfig": { 
        "CandidateGenerationConfig": { 
           "AlgorithmsConfig": [ 
              { 
                 "AutoMLAlgorithms": [ "string" ]
              }
           ],
           "FeatureSpecificationS3Uri": "string"
        }
  }
  ```

------
#### [ CreateAutoMLJobV2 ]

  ```
  {
      "AutoMLProblemTypeConfig": {
          "TabularJobConfig": {
              "CandidateGenerationConfig": { 
                  "AlgorithmsConfig": [ 
                      { 
                      "AutoMLAlgorithms": [ "string" ]
                      }
                  ],
              },
          }
      },
  }
  ```

------
+ **Atributos de solicitud que han cambiado de nombre y estructura.**

  El siguiente JSON ilustra cómo [InputDataConfig](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateAutoMLJob.html#sagemaker-CreateAutoMLJob-request-InputDataConfig)(Una matriz de [Auto MLChannel](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_AutoMLChannel.html)) cambió a [Auto MLJob InputDataConfig](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateAutoMLJobV2.html#sagemaker-CreateAutoMLJobV2-request-AutoMLJobInputDataConfig) (Una matriz de [Auto MLJob Channel](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_AutoMLJobChannel.html)) en la V2. Tenga en cuenta que los atributos `SampleWeightAttributeName` y `TargetAttributeName` han salido de `InputDataConfig` y han pasado a estar en `AutoMLProblemTypeConfig`.

------
#### [ CreateAutoMLJob ]

  ```
  {    
      "InputDataConfig": [ 
          { 
              "ChannelType": "string",
              "CompressionType": "string",
              "ContentType": "string",
              "DataSource": { 
                  "S3DataSource": { 
                      "S3DataType": "string",
                      "S3Uri": "string"
                  }
              },
              "SampleWeightAttributeName": "string",
              "TargetAttributeName": "string"
          }
      ]
  }
  ```

------
#### [ CreateAutoMLJobV2 ]

  ```
  {    
      "AutoMLJobInputDataConfig": [ 
          { 
              "ChannelType": "string",
              "CompressionType": "string",
              "ContentType": "string",
              "DataSource": { 
                  "S3DataSource": { 
                      "S3DataType": "string",
                      "S3Uri": "string"
                  }
              }
          }
      ]
  }
  ```

------

# Conjuntos de datos y tipos de problemas de Piloto automático
<a name="autopilot-datasets-problem-types"></a>

En el caso de los datos tabulares (es decir, los datos en los que cada columna contiene una función con un tipo de datos específico y cada fila contiene una observación), Piloto automático le ofrece la opción de especificar el tipo de problema de aprendizaje supervisado disponible para los candidatos modelo del trabajo de AutoML, como la clasificación binaria o la regresión, o de detectar dicho problema automáticamente en función de los datos que proporcione. Piloto automático también admite varios formatos y tipos de datos.

**Topics**
+ [Conjuntos de datos, tipos de datos y formatos en Piloto automático](#autopilot-datasets)
+ [Tipos de problemas de Piloto automático](#autopilot-problem-types)

## Conjuntos de datos, tipos de datos y formatos en Piloto automático
<a name="autopilot-datasets"></a>

Piloto automático admite datos tabulares formateados como archivos CSV o como archivos Parquet: cada columna contiene una característica con un tipo de datos específico y cada fila contiene una observación. Las propiedades de estos dos formatos de archivo difieren considerablemente.
+ El **CSV** (comma-separated-values) es un formato de archivo basado en filas que almacena los datos en texto plano legible para las personas y es una opción popular para el intercambio de datos, ya que es compatible con una amplia gama de aplicaciones.
+ **Parquet** es un formato de archivo basado en columnas en el que los datos se almacenan y procesan de forma más eficiente que en los formatos de archivo basados en filas. Esto los convierte en una mejor opción para los problemas en macrodatos.

Los **tipos de datos** aceptados para las columnas incluyen series numéricas, categóricas, de texto y temporales compuestas por cadenas de números separados por comas. Si Piloto automático detecta que son secuencias de **series temporales**, las procesa mediante transformadores de características especializados y proporcionados por la biblioteca [tsfresh](https://tsfresh.readthedocs.io/en/latest/text/list_of_features.html). Esta biblioteca toma la serie temporal como entrada y genera una característica, como el valor absoluto más alto de la serie temporal o los estadísticos descriptivos de la autocorrelación. Estas características generadas se utilizan luego como entradas para uno de los tres tipos de problemas.

El piloto automático permite crear modelos de aprendizaje automático en conjuntos de datos grandes de hasta cientos de. GBs Para obtener más información sobre los límites de recursos predeterminados para los conjuntos de datos de entrada y cómo aumentarlos, consulte las [cuotas de Piloto Automático](https://docs.aws.amazon.com/sagemaker/latest/dg/autopilot-quotas.html).

## Tipos de problemas de Piloto automático
<a name="autopilot-problem-types"></a>

En el caso de los datos tabulares, especifique también el tipo de problemas de aprendizaje supervisado disponibles para los candidatos al modelo de la siguiente manera:

### Regresión
<a name="autopilot-automate-model-development-problem-types-regression"></a>

La regresión estima los valores de una variable objetivo dependiente en función de una o más variables o atributos que están correlacionados con ella. Un ejemplo es la predicción de los precios de la vivienda mediante características como el número de baños y dormitorios, metros cuadrados de la casa y el jardín. El análisis de regresión puede crear un modelo que tome una o más de estas características como entrada y prediga el precio de la casa.

### Clasificación binaria
<a name="autopilot-automate-model-development-problem-types-binary-classification"></a>

La clasificación binaria es un tipo de aprendizaje supervisado que asigna un individuo a una de dos clases predefinidas y mutuamente excluyentes basadas en sus atributos. Se considera supervisado porque los modelos se entrenan utilizando ejemplos en los que los atributos se proporcionan con objetos etiquetados correctamente. Un ejemplo de clasificación binaria es un diagnóstico médico de si un individuo tiene una enfermedad o no en función de los resultados de las pruebas de diagnóstico.

### Clasificación multiclase
<a name="autopilot-automate-model-development-problem-types-multiclass-classification"></a>

La clasificación multiclass es un tipo de aprendizaje supervisado que asigna un individuo a una de varias clases en función de sus atributos. Se considera supervisado porque los modelos se entrenan utilizando ejemplos en los que los atributos se proporcionan con objetos etiquetados correctamente. Un ejemplo es la predicción del tema más relevante para un documento de texto. Un documento puede clasificarse como que trata de religión, política, finanzas o de varias otras clases temáticas predefinidas.

# Modos de entrenamiento y compatibilidad con algoritmos
<a name="autopilot-model-support-validation"></a>

Piloto automático admite diferentes modos de entrenamiento y algoritmos para abordar problemas de machine learning, informar sobre métricas objetivo y de calidad y utilizar la validación cruzada automáticamente, cuando sea necesario.

## Modelos de entrenamiento
<a name="autopilot-training-mode"></a>

SageMaker El piloto automático puede seleccionar automáticamente el método de entrenamiento en función del tamaño del conjunto de datos, o puedes seleccionarlo manualmente. Estas son las dos opciones.
+ **Ensamblaje**: el piloto automático utiliza la [AutoGluon](https://auto.gluon.ai/scoredebugweight/tutorials/tabular_prediction/index.html)biblioteca para entrenar varios modelos base. Para encontrar la mejor combinación para su conjunto de datos, el modo de ensamblaje ejecuta diez pruebas con diferentes ajustes de modelo y metaparámetro. A continuación, Piloto automático combina estos modelos mediante un método de conjuntos apilados para crear un modelo predictivo óptimo. Para obtener una lista de los algoritmos que Piloto automático admite en el modo de ensamblaje para datos tabulares, consulte la sección **Compatibilidad con algoritmos**.
+ **Optimización de hiperparámetros (HPO)**: Piloto automático busca la mejor versión de un modelo ajustando los hiperparámetros mediante la optimización bayesiana o la optimización de multifidelidad mientras ejecuta tareas de entrenamiento en el conjunto de datos. El modo HPO selecciona los algoritmos que son más relevantes para el conjunto de datos y selecciona el mejor rango de hiperparámetros para ajustar los modelos. Para ajustar sus modelos, el modo HPO ejecuta hasta 100 pruebas (predeterminado) para encontrar la configuración de hiperparámetros óptima dentro del rango seleccionado. Si el tamaño del conjunto de datos es inferior a 100 MB, Piloto automático utiliza la optimización bayesiana. Piloto automático elige la optimización multifidelidad si el conjunto de datos tiene más de 100 MB.

  En la optimización multifidelidad, las métricas se emiten continuamente desde los contenedores de entrenamiento. Una prueba que tiene un rendimiento deficiente con respecto a una métrica objetivo seleccionada se detiene antes de tiempo. A una prueba que funciona bien se le asignan más recursos. 

  Para obtener una lista de los algoritmos que Piloto automático admite en el modo HPO, consulte la sección **Compatibilidad con algoritmos**. 
+ **Automático**: Piloto automático elige automáticamente el modo de ensamblaje o el modo HPO en función del tamaño del conjunto de datos. Si su conjunto de datos es superior a 100 MB, Piloto automático elige HPO. De lo contrario, elige el modo de ensamblaje. Piloto automático puede no leer el tamaño del conjunto de datos en los siguientes casos.
  + Si habilita el modo nube privada virtual (VPC) para un trabajo de AutoML, pero el bucket de S3 que contiene el conjunto de datos solo permite el acceso desde VPC.
  + La entrada [S3](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_AutoMLS3DataSource.html#sagemaker-Type-AutoMLS3DataSource-S3DataType) de su conjunto DataType de datos es una. `ManifestFile`
  + La entrada [S3Uri](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_AutoMLS3DataSource.html#sagemaker-Type-AutoMLS3DataSource-S3Uri) contiene más de 1000 elementos.

  Si Piloto automático no puede leer el tamaño del conjunto de datos, elige de forma predeterminada el modo HPO.

**nota**  
Para obtener un tiempo de ejecución y un rendimiento óptimos, use el modo de entrenamiento de ensamblaje para conjuntos de datos de menos de 100 MB.

## Compatibilidad son algoritmos
<a name="autopilot-algorithm-support"></a>

En el **modo HPO**, Piloto automático admite los siguientes tipos de algoritmos de machine learning:
+  [Aprendiz lineal](https://docs.aws.amazon.com/sagemaker/latest/dg/linear-learner.html): un algoritmo de aprendizaje supervisado que puede resolver problemas de clasificación o regresión.
+ [XGBoost](https://docs.aws.amazon.com/sagemaker/latest/dg/xgboost.html)— Un algoritmo de aprendizaje supervisado que intenta predecir con precisión una variable objetivo mediante la combinación de un conjunto de estimaciones de un conjunto de modelos más simples y débiles.
+ Algoritmo de aprendizaje profundo: un perceptrón multicapa (MLP) y una red neuronal artificial de retroalimentación. Este algoritmo puede procesar datos que no se pueden separar linealmente.

**nota**  
No tiene que especificar un algoritmo para usarlo en el problema de machine learning. Piloto automático selecciona automáticamente el algoritmo adecuado para entrenar. 

En el **modo de ensamblaje**, Piloto automático admite los siguientes tipos de algoritmos de machine learning:
+ [LightGBM](https://docs.aws.amazon.com/sagemaker/latest/dg/lightgbm.html): un marco optimizado que utiliza algoritmos basados en árboles con potenciación por gradiente. Este algoritmo utiliza árboles que crecen en amplitud, en lugar de en profundidad, y está altamente optimizado para la velocidad.
+ [CatBoost](https://docs.aws.amazon.com/sagemaker/latest/dg/catboost.html)— Un marco que utiliza algoritmos basados en árboles con aumento de gradiente. Optimizado para la gestión de variables categóricas.
+ [XGBoost](https://docs.aws.amazon.com/sagemaker/latest/dg/xgboost.html)— Un marco que utiliza algoritmos basados en árboles con un aumento de gradiente que aumenta en profundidad, en lugar de en amplitud. 
+ [Random Forest](https://scikit-learn.org/stable/modules/generated/sklearn.ensemble.RandomForestClassifier.html): algoritmo basado en árboles que utiliza varios árboles de decisión en submuestras aleatorias de los datos y las reemplaza. Los árboles se dividen en nodos óptimos en cada nivel. Las decisiones de cada árbol se promedian para evitar el sobreajuste y mejorar las predicciones.
+ [Extra Trees](https://scikit-learn.org/stable/modules/generated/sklearn.ensemble.ExtraTreesClassifier.html#sklearn.ensemble.ExtraTreesClassifier): un algoritmo basado en árboles que utiliza varios árboles de decisión en todo el conjunto de datos. Los árboles se dividen aleatoriamente en cada nivel. Las decisiones de cada árbol se promedian para evitar el sobreajuste y mejorar las predicciones. Extra Trees añade un grado de asignación al azar en comparación con el algoritmo Random Forest.
+ [Linear Models](https://scikit-learn.org/stable/modules/classes.html#module-sklearn.linear_model): un marco que utiliza una ecuación lineal para modelar la relación entre dos variables en los datos observados.
+ Neural network torch: un modelo de red neuronal que se implementa con [Pytorch](https://pytorch.org/).
+ Neural network fast.ai: un modelo de red neuronal que se implementa con [fast.ai](https://www.fast.ai/).

# Métricas y validación
<a name="autopilot-metrics-validation"></a>

Esta guía muestra las métricas y las técnicas de validación que puede utilizar para medir el rendimiento del modelo de machine learning. Amazon SageMaker Autopilot produce métricas que miden la calidad predictiva de los candidatos a modelos de aprendizaje automático. Las métricas calculadas para los candidatos se especifican mediante una serie de [MetricDatum](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_MetricDatum.html)tipos.

## Métricas de Piloto automático
<a name="autopilot-metrics"></a>

La siguiente lista contiene los nombres de las métricas que están disponibles actualmente para medir el rendimiento de los modelos en Piloto automático.

**nota**  
Piloto automático admite las ponderaciones de muestra. Para obtener más información sobre las ponderaciones de muestra y las métricas objetivo disponibles, consulte [Métricas ponderadas en Piloto automático](#autopilot-weighted-metrics).

Estas son las métricas disponibles.

**`Accuracy`**  
 La relación entre el número de elementos clasificados correctamente y el número total de elementos clasificados (correcta e incorrectamente). Se utiliza tanto para la clasificación binaria como para la clasificación multiclase. La precisión mide el grado de aproximación de los valores de clase pronosticados con respecto a los valores reales. Los valores de las métricas de precisión varían entre cero (0) y uno (1). Un valor de 1 indica una precisión perfecta y un 0 indica una imprecisión perfecta.

**`AUC`**  
 La métrica del área bajo la curva (AUC) se utiliza para comparar y evaluar la clasificación binaria mediante algoritmos que devuelven probabilidades, como la regresión logística. Para mapear las probabilidades en clasificaciones, estas se comparan con un valor umbral.   
La curva relevante es la curva característica de funcionamiento del receptor. La curva traza la tasa de positivos verdaderos (TPR) de las predicciones (o exhaustividad) en comparación con la tasa de falsos positivos (FPR) en función del valor umbral, por encima del cual una predicción se considera positiva. Si se aumenta el umbral, se obtienen menos falsos positivos, pero más falsos negativos.   
El AUC es el área bajo la curva característica de funcionamiento de este receptor. Por lo tanto, el AUC proporciona una medida agregada del rendimiento del modelo en todos los umbrales de clasificación posibles. Las puntuaciones del AUC varían entre 0 y 1. Una puntuación de 1 indica una precisión perfecta y una puntuación de la mitad (0,5) indica que la predicción no es mejor que la de un clasificador aleatorio. 

**`BalancedAccuracy`**  
`BalancedAccuracy` es una métrica que mide la relación entre las predicciones precisas y todas las predicciones. Esta relación se calcula después de normalizar los positivos verdaderos (TP) y los negativos verdaderos (TN) mediante el número total de valores positivos (P) y negativos (N). Se utiliza tanto en la clasificación binaria como en la multiclase y se define de la siguiente manera: 0,5\$1 ((TP/P)\$1(TN/N)), con valores que van de 0 a 1. `BalancedAccuracy`proporciona una mejor medida de la precisión cuando el número de aspectos positivos o negativos es muy diferente entre sí en un conjunto de datos desequilibrado, por ejemplo, cuando solo el 1% del correo electrónico es spam. 

**`F1`**  
La puntuación `F1` es la media armónica de la precisión y la exhaustividad, que se define como F1 = 2 \$1 (precisión \$1 exhaustividad)/(precisión \$1 exhaustividad). Se utiliza para la clasificación binaria en clases denominadas tradicionalmente positivas y negativas. Se dice que las predicciones son verdaderas cuando coinciden con su clase real (correcta) y falsas cuando no coinciden.   
La precisión es la relación entre las predicciones positivas verdaderas y todas las predicciones positivas, e incluye los falsos positivos de un conjunto de datos. La precisión mide la calidad de la predicción cuando predice la clase positiva.   
La exhaustividad (o sensibilidad) es la relación entre las predicciones positivas verdaderas y todas las instancias positivas reales. La exhaustividad mide la precisión con la que un modelo predice los miembros reales de la clase en un conjunto de datos.   
Las puntuaciones de F1 varían entre 0 y 1. Una puntuación de 1 indica el mejor rendimiento posible y 0 indica el peor.

**`F1macro`**  
La puntuación de `F1macro` aplica la puntuación de F1 en los problemas de clasificación multiclase. Para ello, calcula la precisión y la recuperación; luego, calcula la media armónica para calcular la puntuación de F1 de cada clase. Por último, `F1macro` promedia las puntuaciones individuales para obtener la puntuación de `F1macro`. Las puntuaciones `F1macro` varían entre 0 y 1. Una puntuación de 1 indica el mejor rendimiento posible y 0 indica el peor.

**`InferenceLatency`**  
La latencia de inferencia es el tiempo aproximado que transcurre entre solicitar una predicción de modelo y recibirla desde un punto de conexión en tiempo real en el que se implementa el modelo. Esta métrica se mide en segundos y solo está disponible en el modo de ensamblaje.

**`LogLoss`**  
La pérdida logarítmica, también conocida como pérdida de entropía cruzada, es una métrica que se utiliza para evaluar la calidad de las salidas probabilísticas, en lugar de las propias salidas. Se utiliza tanto para la clasificación binaria como para la clasificación multiclase en redes neuronales. También es la función de costo de la regresión logística. La pérdida logarítmica es una métrica importante para indicar, con una alta probabilidad, el momento en el que un modelo hace predicciones incorrectas. Los valores están comprendidos entre 0 e infinito. Un valor de 0 representa un modelo que predice perfectamente los datos.

**`MAE`**  
El error absoluto medio (MAE) es una medida de la diferencia entre los valores pronosticados y reales cuando se promedian entre todos los valores. El MAE se utiliza habitualmente en el análisis de regresión para comprender el error de predicción del modelo. Si hay regresión lineal, el MAE representa la distancia promedio desde una línea pronosticada hasta el valor real. El MAE se define como la suma de los errores absolutos dividida por el número de observaciones. Los valores van desde 0 hasta el infinito, y los números más pequeños indican un mejor ajuste del modelo a los datos.

**`MSE`**  
El error cuadrático medio (MSE) es el promedio de las diferencias cuadráticas entre los valores pronosticados y reales. Se usa para la regresión. Los valores de MSE son siempre positivos. Cuanto mejor prediga los valores reales un modelo, menor será el valor de MSE.

**`Precision`**  
La precisión mide el rendimiento de un algoritmo al predecir los verdaderos positivos (TP) de entre todos los positivos que identifica. Se define como Precisión = TP/(TP\$1FP); los valores van de cero (0) a uno (1) y se utiliza en la clasificación binaria. La precisión es una métrica importante cuando el costo de un falso positivo es elevado. Por ejemplo, el costo de un falso positivo es muy elevado si el sistema de seguridad de un avión se equivoca al decir que es seguro volar. Un falso positivo (FP) refleja una predicción positiva que, en realidad, es negativa en los datos.

**`PrecisionMacro`**  
La macro de precisión calcula la precisión de los problemas de clasificación multiclase. Para ello, calcula la precisión de cada clase y promedia las puntuaciones para obtener la precisión de varias clases. Las puntuaciones de `PrecisionMacro` van de cero (0) a uno (1). Las puntuaciones más altas reflejan la capacidad del modelo para predecir positivos verdaderos (TP) a partir de todos los positivos que identifica, promediados en varias clases.

**`R2`**  
El R 2, también conocido como coeficiente de determinación, se utiliza en la regresión para cuantificar en qué medida un modelo puede explicar la varianza de una variable dependiente. Los valores oscilan entre uno (1) y menos uno (-1). Los números más altos indican una fracción más alta de la variabilidad explicada. Los valores de `R2` cercanos a cero (0) indican que el modelo puede explicar muy poco sobre la variable dependiente. Los valores negativos indican que hay un ajuste deficiente y que el rendimiento del modelo es superado por una función constante. En el caso de la regresión lineal, se trata de una línea horizontal.

**`Recall`**  
La exhaustividad mide el rendimiento de un algoritmo a la hora de predecir correctamente todos los positivos verdaderos (TP) de un conjunto de datos. Un positivo verdadero es una predicción positiva que también es un valor positivo real en los datos. La exhaustividad se define de la siguiente manera: Exhaustividad = TP/(TP\$1FN), con valores que van de 0 a 1. Las puntuaciones más altas reflejan una mejor capacidad del modelo para predecir los verdaderos positivos (TP) en los datos. Se utiliza en la clasificación binaria.   
La exhaustividad es importante en las pruebas de detección de cáncer, ya que se utiliza para encontrar todos los positivos verdaderos. Un falso negativo (FN) refleja una predicción negativa que, en realidad, es positiva en los datos. A menudo no basta con medir solo la exhaustividad, ya que, si se predice cada salida como un verdadero positivo, se obtiene una puntuación de exhaustividad perfecta.

**`RecallMacro`**  
La `RecallMacro` calcula la exhaustividad para problemas de clasificación multiclase calculando la exhaustividad para cada clase y promediando las puntuaciones a fin de obtener la exhaustividad de varias clases. Las puntuaciones de `RecallMacro` van del 0 al 1. Las puntuaciones más altas reflejan la capacidad del modelo para predecir positivos verdaderos (TP) en un conjunto de datos, mientras que un resultado positivo verdadero refleja una predicción positiva que también es un valor positivo real en los datos. A menudo, no basta con medir solo la exhaustividad, ya que, si se predice cada salida como un verdadero positivo, se obtiene una puntuación de exhaustividad perfecta.

**`RMSE`**  
La raíz del error cuadrático medio (RMSE) mide la raíz cuadrada de la diferencia cuadrática entre los valores pronosticados y los reales, y se promedia sobre todos los valores. Se utiliza en el análisis de regresión para comprender el error de predicción del modelo. Es una métrica importante para indicar la presencia de valores atípicos y errores de modelo grandes. Los valores van desde cero (0) hasta infinito, y los números más pequeños indican el modelo que se ajusta mejor a los datos. El RMSE depende de la escala y no debe usarse para comparar conjuntos de datos de diferentes tamaños.

Las métricas que se calculan automáticamente para un candidato a modelo vienen determinadas por el tipo de problema que se está abordando.

Consulta la [documentación de referencia de la SageMaker API de Amazon](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_AutoMLJobObjective.html) para ver la lista de métricas disponibles compatibles con Autopilot.

## Métricas ponderadas en Piloto automático
<a name="autopilot-weighted-metrics"></a>

**nota**  
Piloto automático solo admite ponderaciones de muestra en el modo de ensamblaje y para todas las [métricas disponibles](https://docs.aws.amazon.com/sagemaker/latest/dg/autopilot-metrics-validation.html#autopilot-metrics), con la excepción de `Balanced Accuracy` y `InferenceLatency`. `BalanceAccuracy` viene con su propio esquema de ponderación para conjuntos de datos desequilibrados que no requieren ponderaciones de muestra. `InferenceLatency` no admite ponderaciones de muestra. Las métricas objetivo `Balanced Accuracy` y `InferenceLatency` ignoran las ponderaciones de muestra existentes al entrenar y evaluar un modelo.

Los usuarios pueden añadir una columna de ponderaciones de muestra a sus datos para garantizar que cada observación utilizada para entrenar un modelo de machine learning reciba una ponderación correspondiente a su importancia percibida para el modelo. Esto resulta especialmente útil en escenarios en los que las observaciones del conjunto de datos tienen distintos grados de importancia, o cuando un conjunto de datos contiene un número desproporcionado de muestras de una clase en comparación con otras. La asignación de una ponderación a cada observación en función de su importancia, o mayor importancia, para una clase minoritaria puede mejorar el rendimiento general del modelo o garantizar que este no esté sesgado hacia la clase mayoritaria.

Para obtener información sobre cómo pasar las ponderaciones de las muestras al crear un experimento en la interfaz de usuario de Studio Classic, consulte el *paso 7* en [Create an Autopilot experiment using Studio Classic](https://docs.aws.amazon.com/sagemaker/latest/dg/autopilot-automate-model-development-create-experiment.html). 

Para obtener información sobre cómo pasar las ponderaciones de muestra mediante programación al crear un experimento de Piloto automático mediante la API, consulte *How to add sample weights to an AutoML job* en [Create an Autopilot experiment programmatically](https://docs.aws.amazon.com/sagemaker/latest/dg/autopilot-automate-model-development-create-experiment.html).

## Validación cruzada en Piloto automático
<a name="autopilot-cross-validation"></a>

La validación cruzada se utiliza para reducir el sobreajuste y el sesgo en la selección del modelo. También se usa para evaluar el rendimiento de un modelo al predecir los valores de un conjunto de datos de validación no observable si el conjunto de datos de validación se extrae de la misma población. Este método es especialmente importante cuando se entrena con conjuntos de datos que tienen un número limitado de instancias de entrenamiento. 

Piloto automático utiliza la validación cruzada para crear modelos en la optimización de hiperparámetros (HPO) y en el modo de entrenamiento por ensamblaje. El primer paso del proceso de validación cruzada con Piloto automático consiste en dividir los datos en k particiones.

### División en k-particiones
<a name="autopilot-cross-validation-kfold"></a>

La división en k-particiones es un método que separa un conjunto de datos de entrenamiento de entrada en varios conjuntos de datos de entrenamiento y validación. El conjunto de datos se divide en `k` submuestras del mismo tamaño, denominadas particiones. Luego, los modelos se entrenan en `k-1` particiones y se prueban comparándolos con la partición número k restante, que es el conjunto de datos de validación. El proceso se repite `k` veces utilizando un conjunto de datos diferente para la validación. 

La siguiente imagen muestra la división de k particiones con k = 4 particiones. Cada partición se representa como una fila. Los recuadros de tonos oscuros representan las partes de los datos utilizadas en el entrenamiento. Los recuadros restantes, en tonos claros, indican los conjuntos de datos de validación. 

![\[La división en k particiones con 4 particiones se representa en forma de recuadros: oscuros para los datos utilizados y claros para los conjuntos de datos de validación.\]](http://docs.aws.amazon.com/es_es/sagemaker/latest/dg/images/autopilot/autopilot-metrics-kfold-splits.png)


Piloto automático utiliza la validación cruzada de k-particiones tanto en el modo de optimización de hiperparámetros (HPO) como en el de ensamblaje.

Puede implementar modelos de piloto automático creados mediante validación cruzada como lo haría con cualquier otro modelo de piloto automático o de IA. SageMaker 

### Modo HPO
<a name="autopilot-cross-validation-hpo"></a>

La validación cruzada en k-particiones utiliza el método de división k-particiones para la validación cruzada. En el modo HPO, Piloto automático implementa automáticamente la validación cruzada de k-particiones para conjuntos de datos pequeños con 50 000 instancias de entrenamiento o menos. Realizar una validación cruzada es especialmente importante cuando se entrena con conjuntos de datos pequeños, ya que protege contra el sobreajuste y el sesgo de selección. 

El modo HPO utiliza un valor *k* de 5 en cada uno de los algoritmos candidatos que se utilizan para modelar el conjunto de datos. Varios modelos se entrenan en diferentes divisiones y los modelos se almacenan por separado. Cuando se completa el entrenamiento, las métricas de validación de cada uno de los modelos se promedian para producir una única métrica de estimación. Por último, Piloto automático combina los modelos de la prueba con la mejor métrica de validación en un modelo de ensamblaje. Piloto automático utiliza este modelo de ensamblaje para hacer predicciones.

La métrica de validación de los modelos entrenados por Piloto automático se presenta como métrica objetivo en la tabla de clasificación de modelos. Piloto automático utiliza la métrica de validación predeterminada para cada tipo de problema que gestiona, a menos que especifique lo contrario. Para ver una lista de todas las métricas que Piloto automático utiliza, consulte [Métricas de Piloto automático](#autopilot-metrics).

Por ejemplo, el [conjunto de datos Boston Housing](http://lib.stat.cmu.edu/datasets/boston) contiene solo 861 muestras. Si crea un modelo para predecir los precios de venta de viviendas utilizando este conjunto de datos sin validación cruzada, corre el riesgo de utilizar un conjunto de datos que no sea representativo del mercado inmobiliario en Boston. Si divide los datos solo una vez en subconjuntos de entrenamiento y validación, es posible que la partición de entrenamiento solo contenga datos principalmente de las afueras. Como resultado, el entrenamiento se llevaría a cabo con datos que no son representativos del resto de la ciudad. En este ejemplo, es probable que su modelo se sobreajuste a esta selección sesgada. La validación cruzada de k-particiones puede reducir el riesgo de este tipo de error al hacer un uso completo y aleatorio de los datos disponibles, tanto para el entrenamiento como para la validación.

La validación cruzada puede aumentar los tiempos de entrenamiento en un promedio del 20 %. Los tiempos de entrenamiento también pueden aumentar significativamente en el caso de conjuntos de datos complejos.

**nota**  
En el modo HPO, puedes ver las métricas de entrenamiento y validación de cada pliegue de tus registros. `/aws/sagemaker/TrainingJobs` CloudWatch Para obtener más información sobre CloudWatch los registros, consulte[CloudWatch Registros para Amazon SageMaker AI](logging-cloudwatch.md). 

### Modo de ensamblaje
<a name="autopilot-cross-validation-ensemble"></a>

**nota**  
Piloto automático admite las ponderaciones de muestra en el modo de ensamblaje. Para obtener la lista de métricas compatibles con las ponderaciones de muestra, consulte [Métricas de Piloto automático](#autopilot-metrics).

En el modo de ensamblaje, la validación cruzada se realiza independientemente del tamaño del conjunto de datos. Los clientes pueden proporcionar su propio conjunto de datos de validación y una tasa de división de datos personalizada o dejar que Piloto automático divida el conjunto de datos automáticamente con una tasa de división 80-20 %. A continuación, los datos de entrenamiento se dividen en `k` dos para realizar una validación cruzada, donde el motor `k` determina el AutoGluon valor de. Un conjunto consta de varios modelos de machine learning, cada uno de los cuales se denomina modelo base. Un único modelo base se basa en (`k`-1) pliegues y hace out-of-fold predicciones en el pliegue restante. Este proceso se repite para todos los `k` pliegues y las predicciones out-of-fold (OOF) se concatenan para formar un único conjunto de predicciones. Todos los modelos base del conjunto siguen este mismo proceso de generación de predicciones OOF.

La siguiente imagen muestra la división de k particiones, con `k` = 4 particiones. Cada partición se representa como una fila. Los recuadros de tonos oscuros representan las partes de los datos utilizadas en el entrenamiento. Los recuadros restantes, en tonos claros, indican los conjuntos de datos de validación. 

En la parte superior de la imagen, en cada partición, el primer modelo base hace predicciones sobre el conjunto de datos de validación después de entrenar a los conjuntos de datos de entrenamiento. En cada partición posterior, los conjuntos de datos cambian de rol. Un conjunto de datos que antes se utilizaba para el entrenamiento ahora se utiliza para la validación y viceversa. Al final de los `k` pliegues, todas las predicciones se concatenan para formar un único conjunto de predicciones denominado predicción (OOF). out-of-fold Este proceso se repite para todos los modelos base `n`.

![\[Validación de k-particiones: cuatro filas de recuadros representan cuatro particiones que generan una fila de predicciones OOF.\]](http://docs.aws.amazon.com/es_es/sagemaker/latest/dg/images/autopilot/autopilot-metrics-kfold.PNG)


Luego, las predicciones OOF para cada modelo base se utilizan como características para entrenar un modelo de apilamiento. El modelo de apilamiento aprende las ponderaciones de importancia de cada modelo base. Estas ponderaciones se utilizan para combinar las predicciones OOF a fin de formar la predicción final. El rendimiento del conjunto de datos de validación determina qué modelo base o de apilamiento es el mejor, y este modelo se devuelve como modelo final.

En el modo de ensamblaje, puede proporcionar su propio conjunto de datos de validación o dejar que Piloto automático divida el conjunto de datos de entrada automáticamente (80 % entrenamiento y 20 % validación). A continuación, los datos de entrenamiento se dividen en `k` particiones para la validación cruzada, y generan una predicción OOF y un modelo base para cada partición.

Estas predicciones OOF se utilizan como características para entrenar un modelo de apilamiento, que aprende a la vez las ponderaciones de cada modelo base. Estas ponderaciones se utilizan para combinar las predicciones OOF a fin de formar la predicción final. Los conjuntos de datos de validación de cada partición se utilizan para ajustar los hiperparámetros de todos los modelos base y del modelo de apilamiento. El rendimiento del conjunto de datos de validación determina qué modelo base o de apilamiento es el mejor, y este modelo se devuelve como modelo final.

# Implementación y predicción en modelos de Piloto automático
<a name="autopilot-deploy-models"></a>

Esta guía de Amazon SageMaker Autopilot incluye los pasos para la implementación de modelos, la configuración de la inferencia en tiempo real y la ejecución de la inferencia con trabajos por lotes. 

Después de entrenar los modelos en Piloto automático, puede implementarlos para obtener predicciones de una de las dos formas siguientes:

1. Utilice [Implementación de modelos para inferencia en tiempo real](autopilot-deploy-models-realtime.md) para configurar un punto de conexión y obtener predicciones de forma interactiva. La inferencia en tiempo real es idónea para cargas de trabajo de inferencia con requisitos en tiempo real, interactivos y de baja latencia.

1. Utilice [Ejecución por lotes de trabajos de inferencia](autopilot-deploy-models-batch.md) para hacer predicciones en paralelo en lotes de observaciones de un conjunto de datos completo. La inferencia por lotes es una buena opción para conjuntos de datos grandes o si no necesita una respuesta inmediata a una solicitud de predicción del modelo.

**nota**  
Para evitar incurrir en cargos innecesarios, cuando los recursos y puntos de conexión que ha creado a partir de la implementación del modelo ya no sean necesarios, puede eliminarlos. Para obtener información sobre los precios de las instancias por región, consulta [Amazon SageMaker Pricing](https://aws.amazon.com/sagemaker/pricing/).

# Implementación de modelos para inferencia en tiempo real
<a name="autopilot-deploy-models-realtime"></a>

La inferencia en tiempo real es idónea para cargas de trabajo de inferencia con requisitos en tiempo real, interactivos y de baja latencia. Esta sección le muestra cómo puede usar la inferencia en tiempo real para obtener predicciones de forma interactiva a partir de su modelo.

Para implementar el modelo que produjo la mejor métrica de validación en un experimento de Piloto automático, tiene varias opciones. Por ejemplo, si utiliza el piloto automático en SageMaker Studio Classic, puede implementar el modelo de forma automática o manual. También se puede utilizar SageMaker APIs para implementar manualmente un modelo de piloto automático. 

Las siguientes pestañas muestran tres opciones para implementar el modelo. En estas instrucciones, se da por sentado que ya ha creado un modelo con Piloto automático. Si no dispone de un modelo, consulte [Creación de trabajos de regresión o clasificación para datos tabulares mediante la API de AutoML](autopilot-automate-model-development-create-experiment.md). Para ver ejemplos de cada opción, abra cada pestaña.

## Implementación con la interfaz de usuario (IU) de Piloto automático
<a name="autopilot-deploy-models-realtime-ui"></a>

La interfaz de usuario de Piloto automático contiene útiles menús desplegables, botones, información sobre herramientas, etc. que le guiarán por la implementación del modelo. Puede realizar la implementación de forma automática o manual.
+ **Implementación automática**: para implementar automáticamente el mejor modelo de un experimento de Piloto automático en un punto de conexión

  1. [Crea un experimento](https://docs.aws.amazon.com/sagemaker/latest/dg/autopilot-automate-model-development-create-experiment.html) en SageMaker Studio Classic. 

  1. Cambie el valor de **Implementación automática** a **Sí**.
**nota**  
**La implementación automática fallará si la cuota de recursos predeterminada o la cuota de clientes para las instancias de puntos de conexión de una región son demasiado limitadas.** En el modo de optimización de hiperparámetros (HPO), debe tener al menos dos instancias ml.m5.2xlarge. En el modo de ensamblaje, debe tener al menos una instancia ml.m5.12xlarge. Si se produce un error relacionado con las cuotas, puede [solicitar un aumento del límite de servicio](https://docs.aws.amazon.com/servicequotas/latest/userguide/request-quota-increase.html) para las instancias de punto final de SageMaker IA.
+ **Implementación manual**: para implementar manualmente el mejor modelo de un experimento de Piloto automático en un punto de conexión

  1. [Crea un experimento](https://docs.aws.amazon.com/sagemaker/latest/dg/autopilot-automate-model-development-create-experiment.html) en SageMaker Studio Classic. 

  1. Cambie el valor de **Implementación automática** a **No**. 

  1. En **Nombre del modelo**, seleccione el modelo que desea implementar.

  1. Seleccione el botón naranja **Implementación y configuración avanzada**, situado a la derecha de la clasificación. Se abrirá una nueva pestaña.

  1. Configure el nombre del punto de conexión, el tipo de instancia y otros datos opcionales.

  1.  Seleccione el **Modelo de implementación** naranja para implementarlo en un punto de conexión.

  1. Compruebe el progreso del proceso de creación de terminales en [https://console.aws.amazon.com/sagemaker/](https://console.aws.amazon.com/sagemaker/)la sección de puntos finales. Esa sección se encuentra en el menú desplegable **Inferencia** del panel de navegación. 

  1. Cuando el estado del punto final cambie de **Crear** a **InService**, como se muestra a continuación, vuelva a Studio Classic e invoque el punto final.  
![\[SageMaker Consola de IA: página de puntos finales para crear un punto final o comprobar el estado del punto final.\]](http://docs.aws.amazon.com/es_es/sagemaker/latest/dg/images/autopilot/autopilot-check-progress.PNG)

## Implemente mediante SageMaker APIs
<a name="autopilot-deploy-models-api"></a>

También puede obtener inferencias en tiempo real implementando su modelo mediante **llamadas a API**. En esta sección se muestran los cinco pasos de este proceso mediante fragmentos de código AWS Command Line Interface (AWS CLI). 

Para ver ejemplos de código completos para ambos AWS CLI comandos y el AWS SDK para Python (boto3), abre las pestañas siguiendo estos pasos.

1. **Obtener las definiciones de candidatos**

   Obtenga las definiciones de contenedores candidatos en. [InferenceContainers](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_AutoMLCandidate.html#sagemaker-Type-AutoMLCandidate-InferenceContainers) Estas definiciones candidatas se utilizan para crear un modelo de SageMaker IA. 

   En el siguiente ejemplo, se utiliza la [DescribeAutoMLJob](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_DescribeAutoMLJob.html)API para obtener definiciones de candidatos para el mejor modelo candidato. Consulte el siguiente AWS CLI comando como ejemplo.

   ```
   aws sagemaker describe-auto-ml-job --auto-ml-job-name <job-name> --region <region>
   ```

1. **Enumerar los candidatos**

   En el siguiente ejemplo, se utiliza la [ListCandidatesForAutoMLJob](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_ListCandidatesForAutoMLJob.html)API para enumerar todos los candidatos. Observe el siguiente comando AWS CLI como ejemplo.

   ```
   aws sagemaker list-candidates-for-auto-ml-job --auto-ml-job-name <job-name> --region <region>
   ```

1. **Cree un modelo de SageMaker IA**

   Utilice las definiciones de contenedor de los pasos anteriores para crear un modelo de SageMaker IA mediante la [CreateModel](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateModel.html)API. Consulte el siguiente AWS CLI comando como ejemplo.

   ```
   aws sagemaker create-model --model-name '<your-custom-model-name>' \
                       --containers ['<container-definition1>, <container-definition2>, <container-definition3>]' \
                       --execution-role-arn '<execution-role-arn>' --region '<region>
   ```

1. **Crear la configuración de un punto de conexión** 

   En el siguiente ejemplo, se utiliza la [CreateEndpointConfig](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateEndpointConfig.html)API para crear una configuración de punto final. Consulte el siguiente AWS CLI comando como ejemplo.

   ```
   aws sagemaker create-endpoint-config --endpoint-config-name '<your-custom-endpoint-config-name>' \
                       --production-variants '<list-of-production-variants>' \
                       --region '<region>'
   ```

1. **Crear el punto de conexión** 

   En el siguiente AWS CLI ejemplo, se utiliza la [CreateEndpoint](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateEndpoint.html)API para crear el punto final.

   ```
   aws sagemaker create-endpoint --endpoint-name '<your-custom-endpoint-name>' \
                       --endpoint-config-name '<endpoint-config-name-you-just-created>' \
                       --region '<region>'
   ```

   Compruebe el progreso de la implementación de su punto final mediante la [DescribeEndpoint](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_DescribeEndpoint.html)API. Consulte el siguiente AWS CLI comando como ejemplo.

   ```
   aws sagemaker describe-endpoint —endpoint-name '<endpoint-name>' —region <region>
   ```

   Cuando `EndpointStatus` cambie a `InService`, el punto de conexión estará listo para usarse en la inferencia en tiempo real.

1. **Invocar al punto de conexión** 

   La siguiente estructura de comandos invoca el punto de conexión para realizar inferencias en tiempo real.

   ```
   aws sagemaker invoke-endpoint --endpoint-name '<endpoint-name>' \ 
                     --region '<region>' --body '<your-data>' [--content-type] '<content-type>' <outfile>
   ```

Las siguientes pestañas contienen ejemplos de código completos para implementar un modelo con el SDK de AWS para Python (boto3) o la AWS CLI.

------
#### [ AWS SDK for Python (boto3) ]

1. **Obtenga las definiciones de candidatos** con el siguiente ejemplo de código.

   ```
   import sagemaker 
   import boto3
   
   session = sagemaker.session.Session()
   
   sagemaker_client = boto3.client('sagemaker', region_name='us-west-2')
   job_name = 'test-auto-ml-job'
   
   describe_response = sm_client.describe_auto_ml_job(AutoMLJobName=job_name)
   # extract the best candidate definition from DescribeAutoMLJob response
   best_candidate = describe_response['BestCandidate']
   # extract the InferenceContainers definition from the caandidate definition
   inference_containers = best_candidate['InferenceContainers']
   ```

1. **Cree el modelo** con el siguiente ejemplo de código.

   ```
   # Create Model
   model_name = 'test-model' 
   sagemaker_role = 'arn:aws:iam:444455556666:role/sagemaker-execution-role'
   create_model_response = sagemaker_client.create_model(
      ModelName = model_name,
      ExecutionRoleArn = sagemaker_role,
      Containers = inference_containers 
   )
   ```

1. **Cree la configuración de punto de conexión** con el siguiente ejemplo de código.

   ```
   endpoint_config_name = 'test-endpoint-config'
                                                           
   instance_type = 'ml.m5.2xlarge' 
   # for all supported instance types, see 
   # https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_ProductionVariant.html#sagemaker-Type-ProductionVariant-InstanceType    # Create endpoint config
   
   endpoint_config_response = sagemaker_client.create_endpoint_config(
      EndpointConfigName=endpoint_config_name, 
      ProductionVariants=[
          {
              "VariantName": "variant1",
              "ModelName": model_name, 
              "InstanceType": instance_type,
              "InitialInstanceCount": 1
          }
      ]
   )
   
   print(f"Created EndpointConfig: {endpoint_config_response['EndpointConfigArn']}")
   ```

1. **Cree el punto de conexión** e implemente el modelo con el siguiente ejemplo de código.

   ```
   # create endpoint and deploy the model
   endpoint_name = 'test-endpoint'
   create_endpoint_response = sagemaker_client.create_endpoint(
                                               EndpointName=endpoint_name, 
                                               EndpointConfigName=endpoint_config_name)
   print(create_endpoint_response)
   ```

   **Compruebe el estado de la creación del punto de conexión** mediante el siguiente ejemplo de código.

   ```
   # describe endpoint creation status
   status = sagemaker_client.describe_endpoint(EndpointName=endpoint_name)["EndpointStatus"]
   ```

1. **Invoque el punto de conexión** para realizar inferencias en tiempo real con la siguiente estructura de comandos.

   ```
   # once endpoint status is InService, you can invoke the endpoint for inferencing
   if status == "InService":
     sm_runtime = boto3.Session().client('sagemaker-runtime')
     inference_result = sm_runtime.invoke_endpoint(EndpointName='test-endpoint', ContentType='text/csv', Body='1,2,3,4,class')
   ```

------
#### [ AWS Command Line Interface (AWS CLI) ]

1. **Obtenga las definiciones de candidatos** con el siguiente ejemplo de código.

   ```
   aws sagemaker describe-auto-ml-job --auto-ml-job-name 'test-automl-job' --region us-west-2
   ```

1. **Cree el modelo** con el siguiente ejemplo de código.

   ```
   aws sagemaker create-model --model-name 'test-sagemaker-model'
   --containers '[{
       "Image": "348316444620.dkr.ecr.us-west-2.amazonaws.com/sagemaker-sklearn-automl:2.5-1-cpu-py3", amzn-s3-demo-bucket1
       "ModelDataUrl": "s3://amzn-s3-demo-bucket/output/model.tar.gz",
       "Environment": {
           "AUTOML_SPARSE_ENCODE_RECORDIO_PROTOBUF": "1",
           "AUTOML_TRANSFORM_MODE": "feature-transform",
           "SAGEMAKER_DEFAULT_INVOCATIONS_ACCEPT": "application/x-recordio-protobuf",
           "SAGEMAKER_PROGRAM": "sagemaker_serve",
           "SAGEMAKER_SUBMIT_DIRECTORY": "/opt/ml/model/code"
       }
   }, {
       "Image": "348316444620.dkr.ecr.us-west-2.amazonaws.com/sagemaker-xgboost:1.3-1-cpu-py3",
       "ModelDataUrl": "s3://amzn-s3-demo-bucket/output/model.tar.gz",
       "Environment": {
           "MAX_CONTENT_LENGTH": "20971520",
           "SAGEMAKER_DEFAULT_INVOCATIONS_ACCEPT": "text/csv",
           "SAGEMAKER_INFERENCE_OUTPUT": "predicted_label", 
           "SAGEMAKER_INFERENCE_SUPPORTED": "predicted_label,probability,probabilities" 
       }
   }, {
       "Image": "348316444620.dkr.ecr.us-west-2.amazonaws.com/sagemaker-sklearn-automl:2.5-1-cpu-py3", aws-region
       "ModelDataUrl": "s3://amzn-s3-demo-bucket/output/model.tar.gz", 
       "Environment": { 
           "AUTOML_TRANSFORM_MODE": "inverse-label-transform", 
           "SAGEMAKER_DEFAULT_INVOCATIONS_ACCEPT": "text/csv", 
           "SAGEMAKER_INFERENCE_INPUT": "predicted_label", 
           "SAGEMAKER_INFERENCE_OUTPUT": "predicted_label", 
           "SAGEMAKER_INFERENCE_SUPPORTED": "predicted_label,probability,labels,probabilities", 
           "SAGEMAKER_PROGRAM": "sagemaker_serve", 
           "SAGEMAKER_SUBMIT_DIRECTORY": "/opt/ml/model/code"
       } 
   }]' \
   --execution-role-arn 'arn:aws:iam::1234567890:role/sagemaker-execution-role' \ 
   --region 'us-west-2'
   ```

   Para obtener más información, consulte [creación de un modelo](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/sagemaker/create-model.html).

   El comando `create model` devolverá una respuesta con el siguiente formato.

   ```
   {
       "ModelArn": "arn:aws:sagemaker:us-west-2:1234567890:model/test-sagemaker-model"
   }
   ```

1. **Cree la configuración de punto de conexión** con el siguiente ejemplo de código.

   ```
   aws sagemaker create-endpoint-config --endpoint-config-name 'test-endpoint-config' \
   --production-variants '[{"VariantName": "variant1", 
                           "ModelName": "test-sagemaker-model",
                           "InitialInstanceCount": 1,
                           "InstanceType": "ml.m5.2xlarge"
                          }]' \
   --region us-west-2
   ```

   El comando `create endpoint` devolverá una respuesta con el siguiente formato.

   ```
   {
       "EndpointConfigArn": "arn:aws:sagemaker:us-west-2:1234567890:endpoint-config/test-endpoint-config"
   }
   ```

1. **Cree un punto de conexión** con el siguiente ejemplo de código.

   ```
   aws sagemaker create-endpoint --endpoint-name 'test-endpoint' \    
   --endpoint-config-name 'test-endpoint-config' \                 
   --region us-west-2
   ```

   El comando `create endpoint` devolverá una respuesta con el siguiente formato.

   ```
   {
       "EndpointArn": "arn:aws:sagemaker:us-west-2:1234567890:endpoint/test-endpoint"
   }
   ```

   Compruebe el progreso de la implementación del punto de conexión mediante el siguiente ejemplo de código [describe-endpoint](https://docs.aws.amazon.com/cli/latest/reference/sagemaker/describe-endpoint.html) de la CLI.

   ```
   aws sagemaker describe-endpoint --endpoint-name 'test-endpoint' --region us-west-2
   ```

   La comprobación de progreso anterior devolverá una respuesta con el siguiente formato.

   ```
   {
       "EndpointName": "test-endpoint",
       "EndpointArn": "arn:aws:sagemaker:us-west-2:1234567890:endpoint/test-endpoint",
       "EndpointConfigName": "test-endpoint-config",
       "EndpointStatus": "Creating",
       "CreationTime": 1660251167.595,
       "LastModifiedTime": 1660251167.595
   }
   ```

   Cuando `EndpointStatus` cambie a `InService`, el punto de conexión estará listo para usarse en la inferencia en tiempo real.

1. **Invoque el punto de conexión** para realizar inferencias en tiempo real con la siguiente estructura de comandos.

   ```
   aws sagemaker-runtime invoke-endpoint --endpoint-name 'test-endpoint' \
   --region 'us-west-2' \
   --body '1,51,3.5,1.4,0.2' \
   --content-type 'text/csv' \
   '/tmp/inference_output'
   ```

   Para ver más opciones, consulte [invocar un punto de conexión](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/sagemaker-runtime/invoke-endpoint.html).

------

## Implementar modelos desde diferentes cuentas
<a name="autopilot-deploy-models-realtime-across-accounts"></a>

Puede implementar un modelo de Piloto automático desde una cuenta diferente a la cuenta original en la que se generó el modelo. Para la implementación de un modelo entre cuentas, esta sección muestra cómo hacer lo siguiente:   Conceder permiso para asumir el rol a la cuenta desde la que desea realizar la implementación (la cuenta generadora).    Llama a `DescribeAutoMLJob` desde la cuenta de implementación para obtener información sobre el modelo.    Conceder derechos de acceso a los artefactos del modelo desde la cuenta generadora.    

1. **Conceder permiso a la cuenta de implementación** 

   Para asumir el rol en la cuenta generadora, debe concederle permiso a la cuenta de la implementación. Esto permite que la cuenta de implementación describa las tareas de Piloto automático en la cuenta generadora.

   En el siguiente ejemplo, se utiliza una cuenta generadora con una entidad `sagemaker-role` de confianza. En el ejemplo se muestra cómo conceder permiso a una cuenta de implementación con el identificador 111122223333 para que asuma el rol de cuenta generadora.

   ```
   "Statement": [
           {
               "Effect": "Allow",
               "Principal": {
                   "Service": [
                       "sagemaker.amazonaws.com"
                   ],
                   "AWS": [ "111122223333"]
               },
               "Action": "sts:AssumeRole"
           }
   ```

   La nueva cuenta con el identificador 111122223333 ahora puede asumir el rol de cuenta generadora. 

   A continuación, llame a la API `DescribeAutoMLJob` desde la cuenta de implementación para obtener una descripción del trabajo creado por la cuenta generadora. 

   En el siguiente ejemplo de código, se describe el modelo de la cuenta de implementación.

   ```
   import sagemaker 
   import boto3
   session = sagemaker.session.Session()
   
   sts_client = boto3.client('sts')
   sts_client.assume_role
   
   role = 'arn:aws:iam::111122223333:role/sagemaker-role'
   role_session_name = "role-session-name"
   _assumed_role = sts_client.assume_role(RoleArn=role, RoleSessionName=role_session_name)
   
   credentials = _assumed_role["Credentials"]
   access_key = credentials["AccessKeyId"]
   secret_key = credentials["SecretAccessKey"]
   session_token = credentials["SessionToken"]
   
   session = boto3.session.Session()
           
   sm_client = session.client('sagemaker', region_name='us-west-2', 
                              aws_access_key_id=access_key,
                               aws_secret_access_key=secret_key,
                               aws_session_token=session_token)
   
   # now you can call describe automl job created in account A 
   
   job_name = "test-job"
   response= sm_client.describe_auto_ml_job(AutoMLJobName=job_name)
   ```

1. **Otorgar permiso para que la cuenta de implementación** pueda acceder a los artefactos del modelo en la cuenta generadora.

   La cuenta de implementación solo necesita acceso a los artefactos del modelo en la cuenta generadora para la implementación. Se encuentran en el [S3 OutputPath](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_AutoMLOutputDataConfig.html#sagemaker-Type-AutoMLOutputDataConfig-S3OutputPath) que se especificó en la llamada a la `CreateAutoMLJob` API original durante la generación del modelo.

   Para que la cuenta de implementación tenga acceso a los artefactos del modelo, elija una de las siguientes opciones:

   1. [Darle acceso](https://aws.amazon.com/premiumsupport/knowledge-center/cross-account-access-s3/) a la `ModelDataUrl` desde la cuenta generadora a la cuenta de implementación.

      Luego, otórguele a la cuenta de implementación el permiso necesario para que asuma el rol. Siga los [pasos de inferencia en tiempo real](https://docs.aws.amazon.com/sagemaker/latest/dg/autopilot-deploy-models.html#autopilot-deploy-models-realtime) para la implementación. 

   1. [Copie los artefactos del modelo](https://aws.amazon.com/premiumsupport/knowledge-center/copy-s3-objects-account/) del [S3](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_AutoMLOutputDataConfig.html#sagemaker-Type-AutoMLOutputDataConfig-S3OutputPath) original de la cuenta generadora OutputPath a la cuenta generadora.

      Para permitir el acceso a los artefactos del modelo, debe definir un modelo `best_candidate` y reasignar los contenedores del modelo a la nueva cuenta. 

      El siguiente ejemplo muestra cómo definir un modelo `best_candidate` y reasignar la `ModelDataUrl`.

      ```
      best_candidate = automl.describe_auto_ml_job()['BestCandidate']
      
      # reassigning ModelDataUrl for best_candidate containers below
      new_model_locations = ['new-container-1-ModelDataUrl', 'new-container-2-ModelDataUrl', 'new-container-3-ModelDataUrl']
      new_model_locations_index = 0
      for container in best_candidate['InferenceContainers']:
          container['ModelDataUrl'] = new_model_locations[new_model_locations_index++]
      ```

      Tras esta asignación de contenedores, siga los pasos de [Implemente mediante SageMaker APIs](#autopilot-deploy-models-api) para la implementación.

A fin de crear una carga mediante inferencias en tiempo real, consulte el cuaderno de ejemplo para [definir una carga de prueba](https://aws.amazon.com/getting-started/hands-on/machine-learning-tutorial-automatically-create-models). Para crear la carga a partir de un archivo CSV e invocar un punto de conexión, consulte la sección **Haga predicciones con su modelo** en [Cree un modelo de machine learning de inmediato](https://aws.amazon.com/getting-started/hands-on/create-machine-learning-model-automatically-sagemaker-autopilot/#autopilot-cr-room).

# Ejecución por lotes de trabajos de inferencia
<a name="autopilot-deploy-models-batch"></a>

La inferencia por lotes, también conocida como inferencia fuera de línea, genera predicciones de modelos a partir de un lote de observaciones. La inferencia por lotes es una buena opción para conjuntos de datos grandes o si no necesita una respuesta inmediata a una solicitud de predicción del modelo. Por el contrario, la inferencia en línea ([inferencia en tiempo real](https://docs.aws.amazon.com/sagemaker/latest/dg/autopilot-deploy-models.html#autopilot-deploy-models-realtime)) genera predicciones en tiempo real. Puede realizar inferencias por lotes a partir de un modelo de piloto automático mediante el [SDK de SageMaker Python](https://sagemaker.readthedocs.io/en/stable/), la interfaz de usuario (UI) del piloto automático, el SDK [AWS para Python (boto3) o ()](https://aws.amazon.com/sdk-for-python/). AWS Command Line Interface [AWS CLI](https://docs.aws.amazon.com/cli/)

En las siguientes pestañas se muestran tres opciones para implementar el modelo: usar APIs la interfaz de usuario de Autopilot o implementarlo desde diferentes cuentas. APIs En estas instrucciones, se da por sentado que ya ha creado un modelo con Piloto automático. Si no dispone de un modelo, consulte [Creación de trabajos de regresión o clasificación para datos tabulares mediante la API de AutoML](autopilot-automate-model-development-create-experiment.md). Para ver ejemplos de cada opción, abra cada pestaña.

## Implementar un modelo con la interfaz de usuario de Piloto automático
<a name="autopilot-deploy-models-batch-ui"></a>

La interfaz de usuario de Piloto automático contiene útiles menús desplegables, botones, información sobre herramientas, etc. que le guiarán por la implementación del modelo.

Los siguientes pasos muestran cómo implementar un modelo de un experimento de Piloto automático para predicciones por lotes. 

1. Inicia sesión en [https://console.aws.amazon.com/sagemaker/](https://console.aws.amazon.com/sagemaker/)y selecciona **Studio** en el panel de navegación.

1. En el panel de navegación izquierdo, seleccione **Studio**.

1. En **Introducción**, seleccione el dominio en el que quiera iniciar la aplicación de Studio. Si su perfil de usuario solo pertenece a un dominio, no verá la opción para seleccionar un dominio.

1. Seleccione el perfil de usuario para el que desee iniciar la aplicación de Studio Classic. Si no hay ningún perfil de usuario en el dominio, seleccione **Crear perfil de usuario**. Para obtener más información, consulte [Adición de perfiles de usuario](https://docs.aws.amazon.com/sagemaker/latest/dg/domain-user-profile-add.html).

1. Seleccione **Lanzar Studio**. Si el perfil de usuario pertenece a un espacio compartido, elija **Abrir espacios**. 

1. Cuando se abra la consola de SageMaker Studio Classic, pulse el botón **Iniciar SageMaker Studio**.

1. Seleccione **AutoML** en el panel de navegación izquierdo.

1. En **Nombre**, seleccione el experimento de Piloto automático correspondiente al modelo que desee implementar. Se abrirá una nueva pestaña **TRABAJO DE PILOTO AUTOMÁTICO**.

1. En la sección **Nombre del modelo**, seleccione el modelo que desee eliminar.

1. Elija **Deploy model (Implementar modelo)**. Se abrirá una nueva pestaña.

1. Seleccione **Hacer predicciones por lotes** en la parte superior de la página.

1. En **Configuración del trabajo de transformación por lotes**, introduzca el **Tipo de instancia**, el **Recuento de instancias** y otros datos opcionales.

1. En la sección **Configuración de datos de entrada**, abra el menú desplegable. 

   1. Para el **tipo de datos S3**, elija **ManifestFile**o **S3Prefix**.

   1. **Para el **tipo Split**, elija **Line**, **Recordio **TFRecord****o Ninguno.**

   1. En **Compresión**, elija **Gzip** o **Ninguno**. 

1. En **Ubicación de S3**, introduzca la ubicación del bucket de Amazon S3 de los datos de entrada y otros datos opcionales.

1. En **Configuración de datos de salida**, introduzca el bucket de S3 para los datos de salida y elija cómo [ensamblar la salida](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_TransformOutput.html#sagemaker-Type-TransformOutput-AssembleWith) de su trabajo. 

   1. En **Configuración adicional (opcional)**, puede introducir un tipo de MIME y una **Clave de cifrado de S3**.

1. Para el **filtrado de entrada/salida y las uniones de datos (opcional)**, introduzca una JSONpath expresión para filtrar los datos de entrada, unir los datos de origen de entrada con los datos de salida e introducir una JSONpath expresión para filtrar los datos de salida. 

   1. [Para ver ejemplos de cada tipo de filtro, consulta la API. DataProcessing ](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_DataProcessing.html#sagemaker-Type-DataProcessing-InputFilter)

1. Para realizar predicciones por lotes en su conjunto de datos de entrada, seleccione **Crear trabajo de transformación por lotes**. Aparecerá una nueva pestaña **Trabajos de transformación por lotes**.

1. En la pestaña **Trabajos de transformación por lotes**, busque el nombre de su trabajo en la sección **Estado**. A continuación, compruebe el progreso del trabajo. 

## Implemente mediante SageMaker APIs
<a name="autopilot-deploy-models-batch-steps"></a>

Para utilizarla SageMaker APIs para la inferencia por lotes, hay tres pasos:

1. **Obtener las definiciones de candidatos** 

   Las definiciones candidatas de se [InferenceContainers](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_AutoMLCandidate.html#sagemaker-Type-AutoMLCandidate-InferenceContainers)utilizan para crear un modelo de SageMaker IA. 

   El siguiente ejemplo muestra cómo utilizar la [DescribeAutoMLJob](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_DescribeAutoMLJob.html)API para obtener definiciones de candidatos para el mejor modelo candidato. Consulte el siguiente AWS CLI comando como ejemplo.

   ```
   aws sagemaker describe-auto-ml-job --auto-ml-job-name <job-name> --region <region>
   ```

   Usa la [ListCandidatesForAutoMLJob](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_ListCandidatesForAutoMLJob.html)API para enumerar todos los candidatos. Observe el siguiente comando AWS CLI como ejemplo.

   ```
   aws sagemaker list-candidates-for-auto-ml-job --auto-ml-job-name <job-name> --region <region>
   ```

1. **Cree un modelo de SageMaker IA**

   Para crear un modelo de SageMaker IA mediante la [CreateModel](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateModel.html)API, utilice las definiciones de contenedor de los pasos anteriores. Observe el siguiente comando AWS CLI como ejemplo.

   ```
   aws sagemaker create-model --model-name '<your-custom-model-name>' \
                       --containers ['<container-definition1>, <container-definition2>, <container-definition3>]' \
                       --execution-role-arn '<execution-role-arn>' --region '<region>
   ```

1. **Cree un trabajo de transformación de SageMaker IA** 

   En el siguiente ejemplo, se crea un trabajo de transformación de la SageMaker IA con la [CreateTransformJob](https://docs.aws.amazon.com/cli/latest/reference/sagemaker/create-transform-job.html)API. Consulte el siguiente AWS CLI comando como ejemplo.

   ```
   aws sagemaker create-transform-job --transform-job-name '<your-custom-transform-job-name>' --model-name '<your-custom-model-name-from-last-step>'\
   --transform-input '{
           "DataSource": {
               "S3DataSource": {
                   "S3DataType": "S3Prefix", 
                   "S3Uri": "<your-input-data>" 
               }
           },
           "ContentType": "text/csv",
           "SplitType": "Line"
       }'\
   --transform-output '{
           "S3OutputPath": "<your-output-path>",
           "AssembleWith": "Line" 
       }'\
   --transform-resources '{
           "InstanceType": "<instance-type>", 
           "InstanceCount": 1
       }' --region '<region>'
   ```

Comprueba el progreso de tu trabajo de transformación mediante la [DescribeTransformJob](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_DescribeTransformJob.html)API. Consulte el siguiente AWS CLI comando como ejemplo.

```
aws sagemaker describe-transform-job --transform-job-name '<your-custom-transform-job-name>' --region <region>
```

Una vez finalizado el trabajo, el resultado previsto estará disponible en `<your-output-path>`. 

El nombre de archivo de salida tiene el siguiente formato: `<input_data_file_name>.out`. Por ejemplo, si el archivo de entrada es `text_x.csv`, el nombre de la salida será `text_x.csv.out`.

Las siguientes pestañas muestran ejemplos de código para el SDK de SageMaker Python, el AWS SDK para Python (boto3) y el. AWS CLI

------
#### [ SageMaker Python SDK ]

En el siguiente ejemplo, se utiliza el **[SDK de SageMaker Python](https://sagemaker.readthedocs.io/en/stable/overview.html)** para realizar predicciones por lotes.

```
from sagemaker import AutoML

sagemaker_session= sagemaker.session.Session()

job_name = 'test-auto-ml-job' # your autopilot job name
automl = AutoML.attach(auto_ml_job_name=job_name)
output_path = 's3://test-auto-ml-job/output'
input_data = 's3://test-auto-ml-job/test_X.csv'

# call DescribeAutoMLJob API to get the best candidate definition
best_candidate = automl.describe_auto_ml_job()['BestCandidate']
best_candidate_name = best_candidate['CandidateName']

# create model
model = automl.create_model(name=best_candidate_name, 
               candidate=best_candidate)

# create transformer
transformer = model.transformer(instance_count=1, 
    instance_type='ml.m5.2xlarge',
    assemble_with='Line',
    output_path=output_path)

# do batch transform
transformer.transform(data=input_data,
                      split_type='Line',
                       content_type='text/csv',
                       wait=True)
```

------
#### [ AWS SDK for Python (boto3) ]

 El siguiente ejemplo usa el **SDK de AWS para Python (boto3)** a fin de hacer predicciones por lotes.

```
import sagemaker 
import boto3

session = sagemaker.session.Session()

sm_client = boto3.client('sagemaker', region_name='us-west-2')
role = 'arn:aws:iam::1234567890:role/sagemaker-execution-role'
output_path = 's3://test-auto-ml-job/output'
input_data = 's3://test-auto-ml-job/test_X.csv'

best_candidate = sm_client.describe_auto_ml_job(AutoMLJobName=job_name)['BestCandidate']
best_candidate_containers = best_candidate['InferenceContainers']
best_candidate_name = best_candidate['CandidateName']

# create model
reponse = sm_client.create_model(
    ModelName = best_candidate_name,
    ExecutionRoleArn = role,
    Containers = best_candidate_containers 
)

# Lauch Transform Job
response = sm_client.create_transform_job(
    TransformJobName=f'{best_candidate_name}-transform-job',
    ModelName=model_name,
    TransformInput={
        'DataSource': {
            'S3DataSource': {
                'S3DataType': 'S3Prefix',
                'S3Uri': input_data
            }
        },
        'ContentType': "text/csv",
        'SplitType': 'Line'
    },
    TransformOutput={
        'S3OutputPath': output_path,
        'AssembleWith': 'Line',
    },
    TransformResources={
        'InstanceType': 'ml.m5.2xlarge',
        'InstanceCount': 1,
    },
)
```

El trabajo de inferencia por lotes devuelve una respuesta con el siguiente formato.

```
{'TransformJobArn': 'arn:aws:sagemaker:us-west-2:1234567890:transform-job/test-transform-job',
 'ResponseMetadata': {'RequestId': '659f97fc-28c4-440b-b957-a49733f7c2f2',
  'HTTPStatusCode': 200,
  'HTTPHeaders': {'x-amzn-requestid': '659f97fc-28c4-440b-b957-a49733f7c2f2',
   'content-type': 'application/x-amz-json-1.1',
   'content-length': '96',
   'date': 'Thu, 11 Aug 2022 22:23:49 GMT'},
  'RetryAttempts': 0}}
```

------
#### [ AWS Command Line Interface (AWS CLI) ]

1. **Obtenga las definiciones de candidatos** con el siguiente ejemplo de código.

   ```
   aws sagemaker describe-auto-ml-job --auto-ml-job-name 'test-automl-job' --region us-west-2
   ```

1. **Cree el modelo** con el siguiente ejemplo de código.

   ```
   aws sagemaker create-model --model-name 'test-sagemaker-model'
   --containers '[{
       "Image": "348316444620.dkr.ecr.us-west-2.amazonaws.com/sagemaker-sklearn-automl:2.5-1-cpu-py3",
       "ModelDataUrl": "s3://amzn-s3-demo-bucket/out/test-job1/data-processor-models/test-job1-dpp0-1-e569ff7ad77f4e55a7e549a/output/model.tar.gz",
       "Environment": {
           "AUTOML_SPARSE_ENCODE_RECORDIO_PROTOBUF": "1",
           "AUTOML_TRANSFORM_MODE": "feature-transform",
           "SAGEMAKER_DEFAULT_INVOCATIONS_ACCEPT": "application/x-recordio-protobuf",
           "SAGEMAKER_PROGRAM": "sagemaker_serve",
           "SAGEMAKER_SUBMIT_DIRECTORY": "/opt/ml/model/code"
       }
   }, {
       "Image": "348316444620.dkr.ecr.us-west-2.amazonaws.com/sagemaker-xgboost:1.3-1-cpu-py3",
       "ModelDataUrl": "s3://amzn-s3-demo-bucket/out/test-job1/tuning/flicdf10v2-dpp0-xgb/test-job1E9-244-7490a1c0/output/model.tar.gz",
       "Environment": {
           "MAX_CONTENT_LENGTH": "20971520",
           "SAGEMAKER_DEFAULT_INVOCATIONS_ACCEPT": "text/csv",
           "SAGEMAKER_INFERENCE_OUTPUT": "predicted_label", 
           "SAGEMAKER_INFERENCE_SUPPORTED": "predicted_label,probability,probabilities" 
       }
   }, {
       "Image": "348316444620.dkr.ecr.us-west-2.amazonaws.com/sagemaker-sklearn-automl:2.5-1-cpu-py3", 
       "ModelDataUrl": "s3://amzn-s3-demo-bucket/out/test-job1/data-processor-models/test-job1-dpp0-1-e569ff7ad77f4e55a7e549a/output/model.tar.gz", 
       "Environment": { 
           "AUTOML_TRANSFORM_MODE": "inverse-label-transform", 
           "SAGEMAKER_DEFAULT_INVOCATIONS_ACCEPT": "text/csv", 
           "SAGEMAKER_INFERENCE_INPUT": "predicted_label", 
           "SAGEMAKER_INFERENCE_OUTPUT": "predicted_label", 
           "SAGEMAKER_INFERENCE_SUPPORTED": "predicted_label,probability,labels,probabilities", 
           "SAGEMAKER_PROGRAM": "sagemaker_serve", 
           "SAGEMAKER_SUBMIT_DIRECTORY": "/opt/ml/model/code" 
       } 
   }]' \
   --execution-role-arn 'arn:aws:iam::1234567890:role/sagemaker-execution-role' \
   --region 'us-west-2'
   ```

1. **Cree el trabajo de transformación** con el siguiente ejemplo de código.

   ```
   aws sagemaker create-transform-job --transform-job-name 'test-tranform-job'\
    --model-name 'test-sagemaker-model'\
   --transform-input '{
           "DataSource": {
               "S3DataSource": {
                   "S3DataType": "S3Prefix",
                   "S3Uri": "s3://amzn-s3-demo-bucket/data.csv"
               }
           },
           "ContentType": "text/csv",
           "SplitType": "Line"
       }'\
   --transform-output '{
           "S3OutputPath": "s3://amzn-s3-demo-bucket/output/",
           "AssembleWith": "Line"
       }'\
   --transform-resources '{
           "InstanceType": "ml.m5.2xlarge",
           "InstanceCount": 1
       }'\
   --region 'us-west-2'
   ```

1. **Cree el progreso del trabajo de transformación** con el siguiente ejemplo de código. 

   ```
   aws sagemaker describe-transform-job --transform-job-name  'test-tranform-job' --region us-west-2
   ```

   Lo que sigue es la respuesta del trabajo de transformación.

   ```
   {
       "TransformJobName": "test-tranform-job",
       "TransformJobArn": "arn:aws:sagemaker:us-west-2:1234567890:transform-job/test-tranform-job",
       "TransformJobStatus": "InProgress",
       "ModelName": "test-model",
       "TransformInput": {
           "DataSource": {
               "S3DataSource": {
                   "S3DataType": "S3Prefix",
                   "S3Uri": "s3://amzn-s3-demo-bucket/data.csv"
               }
           },
           "ContentType": "text/csv",
           "CompressionType": "None",
           "SplitType": "Line"
       },
       "TransformOutput": {
           "S3OutputPath": "s3://amzn-s3-demo-bucket/output/",
           "AssembleWith": "Line",
           "KmsKeyId": ""
       },
       "TransformResources": {
           "InstanceType": "ml.m5.2xlarge",
           "InstanceCount": 1
       },
       "CreationTime": 1662495635.679,
       "TransformStartTime": 1662495847.496,
       "DataProcessing": {
           "InputFilter": "$",
           "OutputFilter": "$",
           "JoinSource": "None"
       }
   }
   ```

   Después de que `TransformJobStatus` cambie a `Completed`, puede comprobar el resultado de la inferencia en `S3OutputPath`.

------

## Implementar modelos desde diferentes cuentas
<a name="autopilot-deploy-models-batch-across-accounts"></a>

Para crear un trabajo de inferencia por lotes en una cuenta diferente a la cuenta en la que se generó el modelo, siga las instrucciones en [Implementar modelos desde diferentes cuentas](autopilot-deploy-models-realtime.md#autopilot-deploy-models-realtime-across-accounts). A continuación, puede crear modelos y transformar trabajos siguiendo los [Implemente mediante SageMaker APIs](#autopilot-deploy-models-batch-steps).

# Ver detalles del modelo
<a name="autopilot-models-details"></a>

Piloto automático genera información sobre los modelos candidatos que puede obtener. Esta información incluye lo siguiente:
+ Un gráfico de los valores SHAP agregados que indican la importancia de cada característica. Esto ayuda a explicar las predicciones de los modelos.
+ Las estadísticas resumidas de varias métricas de entrenamiento y validación, incluida la métrica objetivo.
+ Una lista de los hiperparámetros utilizados para entrenar y ajustar el modelo.

Para ver estos detalles del modelo después de ejecutar un trabajo de Piloto automático, siga estos pasos:

1. Seleccione el icono **Inicio** (![\[Black square icon representing a placeholder or empty image.\]](http://docs.aws.amazon.com/es_es/sagemaker/latest/dg/images/studio/icons/house.png)) en el panel de navegación izquierdo para ver el menú de navegación de nivel superior de **Amazon SageMaker Studio Classic**.

1. Seleccione la tarjeta **AutoML** en el área de trabajo principal. Se abrirá una nueva pestaña **Piloto automático**.

1. En la sección **Nombre**, seleccione el trabajo de Piloto automático que contenga los detalles que desee examinar. Se abrirá una nueva pestaña **Trabajo de Piloto automático**.

1. El panel **Trabajos de Piloto automático** muestra los valores de las métricas, incluida la métrica **objetivo**, de cada modelo bajo el **Nombre del modelo**. El **mejor modelo** aparece en la parte superior de la lista, bajo el **Nombre del modelo**, y también aparece resaltado en la pestaña **Modelos**.

   1. Para revisar la información sobre el modelo, seleccione el modelo que le interese y **Ver detalles del modelo**. Se abrirá una nueva pestaña **Detalles del modelo**.

1. La pestaña **Detalles del modelo** se divide en cuatro subsecciones.

   1. La parte superior de la pestaña **Explicabilidad** contiene un gráfico de los valores SHAP agregados, con la importancia de cada característica. A continuación, se muestran las métricas y los valores de hiperparámetros de este modelo. 

   1. La pestaña **Rendimiento** contiene métricas, estadísticas y una matriz de confusión. 

   1. La pestaña **Artefactos** contiene información sobre las entradas, las salidas y los resultados intermedios del modelo.

   1. La pestaña **Red** resume las opciones de aislamiento y cifrado de la red.
**nota**  
La importancia de las características y la información de la pestaña **Rendimiento** solo se genera para el **mejor modelo**.

   Para obtener más información sobre cómo los valores SHAP ayudan a explicar las predicciones en función de la importancia de las características, consulte el documento técnico [Understanding the model explainability](https://pages.awscloud.com/rs/112-TZM-766/images/Amazon.AI.Fairness.and.Explainability.Whitepaper.pdf). También hay información adicional disponible en el [Explicabilidad del modelo](clarify-model-explainability.md) tema de la Guía para desarrolladores de SageMaker IA. 

# Visualización de un informe de rendimiento sobre el modelo de Piloto automático
<a name="autopilot-model-insights"></a>

Un informe de calidad de un modelo de Amazon SageMaker AI (también denominado informe de rendimiento) proporciona información valiosa e información de calidad para el mejor candidato de modelo generado por un trabajo de AutoML. Incluye información sobre los detalles del trabajo, el tipo de problema del modelo, la función objetivo y otros datos relacionados con el tipo de problema. Esta guía muestra cómo ver las métricas de rendimiento de Amazon SageMaker Autopilot de forma gráfica o ver las métricas como datos sin procesar en un archivo JSON.

Por ejemplo, en el caso de los problemas de clasificación, el informe de calidad del modelo incluye lo siguiente:
+ Matriz de confusión
+ El área bajo la curva característica de funcionamiento del receptor (AUC).
+ Información para entender los falsos positivos y los falsos negativos
+ Compensaciones entre positivos verdaderos y falsos positivos
+ Compensación entre precisión y exhaustividad

Piloto automático también proporciona métricas de rendimiento para todos los modelos candidatos. Estas métricas se calculan con todos los datos de entrenamiento y se utilizan para estimar el rendimiento del modelo. El área de trabajo principal incluye estas métricas de forma predeterminada. El tipo de métrica viene determinado por el tipo de problema que se está abordando.

Consulta la [documentación de referencia de la SageMaker API de Amazon](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_AutoMLJobObjective.html) para ver la lista de métricas disponibles compatibles con Autopilot.

Puede ordenar los modelos candidatos con la métrica correspondiente para ayudarle a seleccionar e implementar el modelo que mejor se adapte a las necesidades de su empresa. Para ver las definiciones de estas métricas, consulte el tema [Métricas de piloto automático](https://docs.aws.amazon.com/sagemaker/latest/dg/autopilot-metrics-validation.html#autopilot-metrics).

Para ver un informe de rendimiento de un trabajo de Piloto automático, siga estos pasos:

1. Seleccione el icono **Inicio** (![\[Black square icon representing a placeholder or empty image.\]](http://docs.aws.amazon.com/es_es/sagemaker/latest/dg/images/studio/icons/house.png)) en el panel de navegación izquierdo para ver el menú de navegación de nivel superior de **Amazon SageMaker Studio Classic**.

1. Seleccione la tarjeta **AutoML** en el área de trabajo principal. Se abrirá una nueva pestaña **Piloto automático**.

1. En la sección **Nombre**, seleccione el trabajo de Piloto automático que contenga los detalles que desee examinar. Se abrirá una nueva pestaña **Trabajo de Piloto automático**.

1. El panel **Trabajos de Piloto automático** muestra los valores de las métricas, incluida la métrica **objetivo**, de cada modelo bajo el **Nombre del modelo**. El **mejor modelo** aparece en la parte superior de la lista, bajo el **Nombre del modelo**, y aparece resaltado en la pestaña **Modelos**.

   1. Para revisar la información sobre el modelo, seleccione el modelo que le interese y **Ver detalles del modelo**. Se abrirá una nueva pestaña **Detalles del modelo**.

1. Seleccione la pestaña **Rendimiento**, entre las pestañas **Explicabilidad** y **Artefactos**.

   1. En la sección superior derecha de la pestaña, selecciona la flecha hacia abajo, en el botón **Descargar informes de rendimiento**. 

   1. La flecha hacia abajo ofrece dos opciones para ver las métricas de rendimiento en Piloto automático:

      1. Puede descargar un PDF del informe de rendimiento para ver las métricas de forma gráfica.

      1. Puede ver las métricas como datos sin procesar y descargarlos como un archivo JSON.

Para obtener instrucciones sobre cómo crear y ejecutar un trabajo de AutoML en SageMaker Studio Classic, consulte. [Creación de trabajos de regresión o clasificación para datos tabulares mediante la API de AutoML](autopilot-automate-model-development-create-experiment.md) 

El informe de rendimiento consta de dos secciones. La primera sección contiene detalles sobre el trabajo de Piloto automático generado por el modelo. La segunda sección contiene un informe de calidad del modelo.

## Detalles del trabajo en Piloto automático
<a name="autopilot-model-insights-details-and-metrics-table"></a>

Esta primera sección del informe proporciona información general sobre el trabajo de Piloto automático que ha generado el modelo. En estos detalles del trabajo, se incluye la siguiente información:
+ Nombre del candidato en Piloto automático
+ Nombre del trabajo en Piloto automático
+ Tipo de problema
+ Métrica objetiva
+ Dirección de optimización

## Informe de calidad del modelo
<a name="autopilot-model-quality-report"></a>

La información sobre la calidad del modelo se genera mediante la información sobre modelos de Piloto automático. El contenido del informe que se genera depende del tipo de problema que se aborde: regresión, clasificación binaria o clasificación multiclase. El informe especifica el número de filas que se incluyeron en el conjunto de datos de evaluación y el momento en que se realizó la evaluación.

### Tablas de métricas
<a name="autopilot-model-quality-report-metrics"></a>

La primera parte del informe de calidad del modelo contiene tablas de métricas. Son las adecuadas para el tipo de problema que abordó el modelo.

La siguiente imagen es un ejemplo de una tabla de métricas que Piloto automático genera para un problema de regresión. Muestra el nombre, el valor y la desviación estándar de la métrica.

![\[Ejemplo de informe de métricas de regresión de Amazon SageMaker Autopilot Model Insights.\]](http://docs.aws.amazon.com/es_es/sagemaker/latest/dg/images/autopilot/autopilot-model-insights-regression-metrics.png)


La siguiente imagen es un ejemplo de una tabla de métricas generada por Piloto automático para un problema de clasificación multiclase. Muestra el nombre, el valor y la desviación estándar de la métrica.

![\[Ejemplo de informe de métricas de clasificación multiclase de Amazon SageMaker Autopilot model Insights.\]](http://docs.aws.amazon.com/es_es/sagemaker/latest/dg/images/autopilot/autopilot-model-insights-multiclass-metrics-report.png)


### Información gráfica sobre el rendimiento del modelo
<a name="autopilot-model-quality-report-graphs"></a>

 La segunda parte del informe de calidad del modelo contiene información gráfica para ayudarle a evaluar el rendimiento del modelo. El contenido de esta sección depende del tipo de problema usado en la generación del modelo.

#### El área bajo la curva característica de funcionamiento del receptor
<a name="autopilot-model-insights-auc-roc"></a>

El área bajo la curva característica de funcionamiento del receptor representa la compensación entre las tasas de positivos verdaderos y falsos positivos. Es una métrica de precisión estándar del sector que se utiliza para los modelos de clasificación binaria. El AUC mide la capacidad del modelo de predecir una mayor puntuación para ejemplos positivos en comparación con ejemplos negativos. El AUC proporciona una medida agregada del rendimiento del modelo en todos los umbrales de clasificación posibles.

La métrica AUC devuelve un valor decimal comprendido entre 0 y 1. Los valores de AUC próximos a 1 indican un modelo de machine learning muy preciso. Los valores cercanos a 0,5 indican un modelo de ML que no es mejor que hacer una suposición al azar. Los valores de AUC cercanos a 0 indican que el modelo ha aprendido los patrones correctos, pero está realizando las predicciones más imprecisas posibles. Los valores cercanos a cero pueden indicar un problema con los datos. Para obtener más información sobre la métrica AUC, vaya al artículo [Curva ROC](https://en.wikipedia.org/wiki/Receiver_operating_characteristic) en Wikipedia.

Lo que sigue es un ejemplo de un gráfico de área bajo la curva característica de funcionamiento del receptor para evaluar las predicciones realizadas mediante un modelo de clasificación binaria. La línea fina discontinua representa el área bajo la curva característica de funcionamiento del receptor que obtendría un modelo que clasifique las no-better-than-random suposiciones, con una puntuación de AUC de 0,5. Las curvas de los modelos de clasificación más precisos se sitúan por encima de esta línea de base aleatoria, en la que la tasa de positivos verdaderos supera a la tasa de falsos positivos. El área situada debajo de la curva característica de funcionamiento del receptor, que representa el rendimiento del modelo de clasificación binaria, es la línea continua más gruesa. 

![\[Ejemplo de curva característica de funcionamiento del área del SageMaker piloto automático de Amazon debajo del receptor.\]](http://docs.aws.amazon.com/es_es/sagemaker/latest/dg/images/autopilot/autopilot-model-insights-receiver-operating-characteristic-curve.png)


Los componentes del gráfico de **tasa de falsos positivos** (FPR) y **tasa de positivos reales** (TPR) se definen de la siguiente manera.
+ Predicciones correctas
  + **Positivo real** (TP): el valor pronosticado es 1 y el valor real es 1.
  + **Negativo real** (TN): el valor pronosticado es 0 y el valor real es 0.
+ Predicciones erróneas
  + **Positivo falso** (FP): el valor pronosticado es 1, pero el valor real es 0.
  + **Falso negativo** (FN): el valor pronosticado es 0, pero el valor real es 1.

La **tasa de falsos positivos** (FPR) mide la fracción de negativos verdaderos (TN) que se predijeron falsamente como positivos (FP), sobre la suma de FP y TN. El rango va de 0 a 1. Un valor bajo indica una mayor exactitud predictiva. 
+ FPR = FP/(FP\$1TN)

La **tasa de positivos reales** (TPR) mide la fracción de positivos reales que se predijeron correctamente como positivos (TP), sobre la suma de TP y falsos negativos (FN). El rango va de 0 a 1. Un valor mayor indica mejor exactitud predictiva.
+ TPR = TP/(TP\$1FN)

#### Matriz de confusión
<a name="autopilot-model-insights-confusion-matrix"></a>

Una matriz de confusión es una forma de visualizar la precisión de las predicciones realizadas por un modelo para la clasificación binaria y multiclase de diferentes problemas. La matriz de confusión del informe de calidad del modelo contiene lo siguiente.
+ El número y el porcentaje de predicciones correctas e incorrectas para las etiquetas reales
+ El número y el porcentaje de predicciones precisas en la diagonal desde la esquina superior izquierda hasta la esquina inferior derecha
+ El número y el porcentaje de predicciones incorrectas en la diagonal desde la esquina superior derecha hasta la esquina inferior izquierda

Las predicciones incorrectas en una matriz de confusión son los valores de confusión.

El diagrama siguiente muestra un ejemplo de matriz de confusión para un problema de clasificación binaria. Contiene la siguiente información:
+ El eje vertical está dividido en dos filas que contienen etiquetas reales verdaderas y falsas.
+ El eje horizontal se divide en dos columnas que contienen las etiquetas verdadero y falso que predijo el modelo.
+ La barra de colores asigna un tono más oscuro a un número mayor de muestras para indicar visualmente el número de valores que se clasificaron en cada categoría.

En este ejemplo, el modelo predijo correctamente 2817 valores falsos reales y 353 valores verdaderos reales correctamente. El modelo predijo incorrectamente que 130 valores verdaderos eran falsos y que 33 valores falsos eran verdaderos. La diferencia de tono indica que el conjunto de datos no está equilibrado. El desequilibrio se debe a que hay muchas más etiquetas falsas reales que etiquetas verdaderas.

![\[Ejemplo de matriz de confusión binaria de Amazon SageMaker Autopilot.\]](http://docs.aws.amazon.com/es_es/sagemaker/latest/dg/images/autopilot/autopilot-model-insights-confusion-matrix-binary.png)


El diagrama siguiente muestra un ejemplo de matriz de confusión para un problema de clasificación multiclase. La matriz de confusión del informe de calidad del modelo contiene lo siguiente.
+ El eje vertical se divide en tres filas que contienen tres etiquetas reales diferentes.
+ El eje horizontal se divide en tres columnas que contienen las etiquetas que predijo el modelo.
+ La barra de colores asigna un tono más oscuro a un número mayor de muestras para indicar visualmente el número de valores que se clasificaron en cada categoría.

En el siguiente ejemplo, el modelo predijo correctamente 354 valores reales para la etiqueta **f**, 1094 valores para la etiqueta **i** y 852 valores para la etiqueta **m**. La diferencia en el tono indica que el conjunto de datos no está equilibrado, ya que hay muchas más etiquetas para el valor **i** que para **f** o **m**. 

![\[Ejemplo de matriz de confusión multiclase de Amazon SageMaker Autopilot.\]](http://docs.aws.amazon.com/es_es/sagemaker/latest/dg/images/autopilot/autopilot-model-insights-confusion-matrix-multiclass.png)


La matriz de confusión del informe de calidad del modelo proporcionado puede incluir un máximo de 15 etiquetas para los tipos de problemas de clasificación multiclase. Si una fila correspondiente a una etiqueta muestra un valor `Nan`, significa que el conjunto de datos de validación utilizado para comprobar las predicciones del modelo no contiene datos con esa etiqueta.

#### Curva de ganancia
<a name="autopilot-model-insights-precision-gain-curve"></a>

En la clasificación binaria, una curva de ganancia predice el beneficio acumulado de usar un porcentaje del conjunto de datos para encontrar una etiqueta positiva. El valor de ganancia se calcula durante el entrenamiento dividiendo el número acumulado de observaciones positivas entre el número total de observaciones positivas de los datos, en cada decil. Si el modelo de clasificación creado durante el entrenamiento es representativo de los datos no observados, puede usar la curva de ganancia para predecir el porcentaje de datos en el que debe concentrarse para obtener un porcentaje de etiquetas positivas. Cuanto mayor sea el porcentaje del conjunto de datos utilizado, mayor será el porcentaje de etiquetas positivas encontradas.

En el siguiente gráfico de ejemplo, la curva de ganancia es la línea con pendiente variable. La línea recta es el porcentaje de etiquetas positivas que se encuentran al seleccionar un porcentaje de datos del conjunto de datos de forma aleatoria. Al segmentar el 20 % del conjunto de datos, lo normal sería encontrar más del 40 % de las etiquetas positivas. Por ejemplo, podría usar una curva de ganancia para determinar en qué concentrarse en una campaña de marketing. Con nuestro ejemplo de curva de ganancia, si el 83 % de las personas de un vecindario compraran galletas, le enviaría un anuncio a aproximadamente el 60 % del vecindario.

![\[Ejemplo de curva de ganancia de Amazon SageMaker Autopilot con porcentaje y valor de ganancia.\]](http://docs.aws.amazon.com/es_es/sagemaker/latest/dg/images/autopilot/autopilot-model-insights-gain-curve.png)


#### Curva de elevación
<a name="autopilot-model-insights-lift-curve"></a>

En la clasificación binaria, la curva de elevación ilustra la elevación que supone utilizar un modelo entrenado para predecir la probabilidad de encontrar una etiqueta positiva en comparación con una suposición aleatoria. El valor de elevación se calcula durante el entrenamiento utilizando la relación entre el porcentaje de ganancia y la proporción de etiquetas positivas en cada decil. Si el modelo creado durante el entrenamiento es representativo de los datos no observados, use la curva de elevación para predecir la ventaja de usar el modelo en lugar de hacer predicciones aleatorias.

En el siguiente gráfico de ejemplo, la curva de elevación es la línea con pendiente variable. La línea recta es la curva de elevación asociada a la selección aleatoria del porcentaje correspondiente del conjunto de datos. Al seleccionar aleatoriamente el 40 % del conjunto de datos con las etiquetas de clasificación de su modelo, lo normal sería encontrar aproximadamente 1,7 veces el número de etiquetas positivas que habría encontrado al seleccionar aleatoriamente el 40 % de los datos no observados.

![\[Ejemplo de curva de elevación de Amazon SageMaker Autopilot con porcentaje y valor de elevación.\]](http://docs.aws.amazon.com/es_es/sagemaker/latest/dg/images/autopilot/autopilot-model-insights-lift-curve.png)


#### Curva de precisión/exhaustividad
<a name="autopilot-model-insights-precision-recall-curve"></a>

La curva de precisión/exhaustividad representa la compensación entre precisión y exhaustividad en problemas de clasificación binaria. 

La **precisión** mide la fracción de positivos reales que se predicen como positivos (TP) de entre todas las predicciones positivas (TP y falsos positivos). El rango va de 0 a 1. Un valor mayor indica mejor exactitud predictiva.
+ Precisión = TP/(TP\$1FP)

La **exhaustividad** mide la fracción de positivos reales (TP) que se predicen como positivos de entre todas las predicciones positivas reales (TP y falsos negativos). También se conoce como sensibilidad o tasa positiva verdadera. El rango va de 0 a 1. Un valor mayor indica una mejor detección de los valores positivos de la muestra. 
+ Exhaustividad = TP/(TP\$1FN)

El objetivo de un problema de clasificación es etiquetar correctamente tantos elementos como sea posible. Un sistema con un nivel alto de exhaustividad, pero con un nivel bajo de precisión, arroja un alto porcentaje de falsos positivos. 

El siguiente gráfico muestra un filtro de spam que marca todos los correos electrónicos como spam. Tiene un alto nivel de exhaustividad, pero una precisión baja, ya que la exhaustividad no mide los falsos positivos. 

Otórguele más importancia a la exhaustividad que a la precisión si el problema que está abordando tiene una penalización baja por declarar falsos positivos, pero una penalización alta por omitir positivos verdaderos. Por ejemplo, la detección de una colisión inminente en un vehículo autónomo.

![\[Ejemplo de Piloto automático con un nivel alto de exhaustividad y un nivel bajo de precisión; todas las muestras se modelan como positivas.\]](http://docs.aws.amazon.com/es_es/sagemaker/latest/dg/images/autopilot/autopilot-model-insights-high-recall-low-precision.PNG)


Por otro lado, un sistema con un nivel alto de precisión, pero con un nivel bajo de exhaustividad, arroja un alto porcentaje de falsos negativos. Un filtro de spam que marca todos los correos electrónicos como deseables (no spam) tiene una alta precisión, pero un nivel bajo de exhaustividad, ya que la precisión no mide los falsos negativos. 

Otórguele más importancia a la precisión que a la exhaustividad si el problema que está abordando tiene una penalización baja por declarar falsos negativos, pero una penalización alta por omitir negativos verdaderos. Por ejemplo, marcar un filtro sospechoso para una auditoría fiscal.

En el siguiente gráfico se muestra un filtro de spam con un nivel alto de precisión, pero un nivel bajo de exhaustividad, ya que la precisión no mide los falsos negativos. 

![\[Ejemplo de Piloto automático con un nivel alto de precisión y un nivel bajo de exhaustividad; todas las muestras se modelan como negativas.\]](http://docs.aws.amazon.com/es_es/sagemaker/latest/dg/images/autopilot/autopilot-model-insights-high-precision-low-recall.PNG)


Un modelo que hace predicciones con un nivel alto de precisión y exhaustividad genera una gran cantidad de resultados correctamente etiquetados. Para obtener más información, consulte el artículo [Precisión y exhaustividad](https://en.wikipedia.org/wiki/Precision_and_recall) en Wikipedia.

#### Área bajo la curva de precisión/exhaustividad (AUPRC)
<a name="autopilot-model-insights-area-under-precision-recall-curve"></a>

Para problemas de clasificación binaria, Amazon SageMaker Autopilot incluye un gráfico del área bajo la curva de recuperación de precisión (AUPRC). La métrica AUPRC proporciona una medida agregada del rendimiento del modelo en todos los umbrales de clasificación posibles, y utiliza tanto la precisión como la exhaustividad. La AUPRC no tiene en cuenta el número de negativos verdaderos. Por lo tanto, puede resultar útil evaluar el rendimiento del modelo en los casos en que haya una gran cantidad de negativos verdaderos en los datos. Por ejemplo, para modelar un gen que contiene una mutación poco frecuente.

El siguiente gráfico es un ejemplo de un gráfico AUPRC. La precisión, en su nivel más alto, es 1 y la exhaustividad es 0. En la esquina inferior derecha del gráfico, la exhaustividad está en su valor más alto (1) y la precisión es 0. Entre estos dos puntos, la curva AUPRC ilustra la compensación entre precisión y exhaustividad en diferentes umbrales.

![\[La curva de precisión/exhaustividad representa la compensación entre precisión y exhaustividad en diferentes umbrales.\]](http://docs.aws.amazon.com/es_es/sagemaker/latest/dg/images/autopilot/autopilot-model-insights-binary-precision-recall.png)


#### Comparación entre la gráfica real y la prevista
<a name="autopilot-model-insights-actual-vs-predicted-plot"></a>

La comparación entre la gráfica real y la prevista muestra la diferencia entre los valores reales y previstos del modelo. En el siguiente gráfico de ejemplo, la línea continua representa la mejor opción. Si el modelo tuviera una precisión del 100 %, cada punto previsto sería igual a su punto real correspondiente y estaría situado en esta línea de la mejor opción. La distancia desde la línea de mejor opción es una indicación visual del error del modelo. Cuanto mayor sea la distancia desde la línea de mejor opción, mayor será el error del modelo.

![\[Ejemplo con una línea de mejor opción, con la diferencia entre la gráfica real y la prevista y el error del modelo\]](http://docs.aws.amazon.com/es_es/sagemaker/latest/dg/images/autopilot/autopilot-model-insights-actual-vs-predicted-plot.png)


#### Gráfica residual estandarizada
<a name="autopilot-model-insights-standardized-residual"></a>

Una gráfica residual estandarizada incorpora los siguientes términos estadísticos:

**`residual`**  
Un residual (sin procesar) muestra la diferencia entre los valores reales y los pronosticados por el modelo. Cuanto mayor sea la diferencia, mayor será el valor residual.

**`standard deviation`**  
La desviación estándar es una medida de cómo varían los valores con respecto a un valor promedio. Una desviación estándar alta indica que muchos valores son muy diferentes a su valor promedio. Una desviación estándar baja indica que muchos valores son similares a su valor promedio.

**`standardized residual`**  
Un valor residual estandarizado divide los residuales sin procesar por su desviación estándar. Los residuales estandarizados tienen unidades de desviación estándar y son útiles para identificar valores atípicos en los datos, independientemente de la diferencia de escala de los residuales sin procesar. Si un residual estandarizado es mucho más pequeño o más grande que los demás residuales estandarizados, esto indica que el modelo no se ajusta bien a estas observaciones.

La gráfica de residuales estandarizada mide la intensidad de la diferencia entre los valores observados y esperados. El valor previsto real se muestra en el eje x. Un punto con un valor superior a un valor absoluto de 3 suele considerarse un valor atípico.

El siguiente gráfico de ejemplo muestra que una gran cantidad de residuales estandarizados se agrupan alrededor de 0 en el eje horizontal. Los valores cercanos a cero indican que el modelo se ajusta bien a estos puntos. El modelo no predice bien los puntos hacia la parte superior e inferior de la gráfica.

![\[Ejemplo de gráfica de residuos estandarizada de Amazon SageMaker Autopilot.\]](http://docs.aws.amazon.com/es_es/sagemaker/latest/dg/images/autopilot/autopilot-model-insights-standardized-residual.png)


#### Histograma residual
<a name="autopilot-model-insights-residual-histogram"></a>

Un histograma residual estandarizado incorpora los siguientes términos estadísticos:

**`residual`**  
Un residual (sin procesar) muestra la diferencia entre los valores reales y los pronosticados por el modelo. Cuanto mayor sea la diferencia, mayor será el valor residual.

**`standard deviation`**  
La desviación estándar es una medida de cuánto varían los valores con respecto a un valor promedio. Una desviación estándar alta indica que muchos valores son muy diferentes a su valor promedio. Una desviación estándar baja indica que muchos valores son similares a su valor promedio.

**`standardized residual`**  
Un valor residual estandarizado divide los residuales sin procesar por su desviación estándar. Los residuales estandarizados tienen unidades de desviación estándar. Son útiles para identificar valores atípicos en los datos, independientemente de la diferencia de escala de los residuales sin procesar. Si un residual estandarizado es mucho más pequeño o más grande que los demás residuales estandarizados, el modelo no se ajusta bien a estas observaciones.

**`histogram`**  
Un histograma es un gráfico que muestra la frecuencia con la que ocurre un valor.

El histograma residual muestra la distribución de los valores residuales estandarizados. Un histograma distribuido en forma de campana y centrado en el cero indica que el modelo no subestima ni sobreestima sistemáticamente un rango determinado de valores objetivo.

En el siguiente gráfico, los valores residuales estandarizados indican que el modelo se ajusta bien a los datos. Si el gráfico mostrara valores muy alejados del valor central, eso indicaría que esos valores no se ajustan bien al modelo.

![\[Un valor residual estandarizado cercano a cero, lo que indica que el modelo se ajusta bien a los datos.\]](http://docs.aws.amazon.com/es_es/sagemaker/latest/dg/images/autopilot/autopilot-model-insights-residual-histogram.png)


# Cuadernos de Piloto automático generados para administrar las tareas de AutoML
<a name="autopilot-automate-model-development-notebook-output"></a>

Amazon SageMaker Autopilot gestiona las tareas clave de un proceso de aprendizaje automático (AutoML) mediante un trabajo de AutoML. El trabajo de AutoML crea tres informes basados en cuadernos que describen el plan que sigue Piloto automático para generar modelos candidatos.

Un modelo candidato consiste en un par (canalización, algoritmo). En primer lugar, hay un cuaderno de **exploración de datos**, que describe lo que Piloto automático ha aprendido sobre los datos que usted ha suministrado. En segundo lugar, hay un cuaderno de **definición de candidatos**, que utiliza la información sobre los datos para generar candidatos. En tercer lugar, hay un informe con **información sobre el modelo**, que puede ayudar a detallar las características de rendimiento del mejor modelo en la clasificación de un experimento de Piloto automático.

**Topics**
+ [Informe de exploración de datos de Piloto automático](autopilot-data-exploration-report.md)
+ [Búsqueda y ejecución del cuaderno de definición de candidatos](autopilot-candidate-generation-notebook.md)

Puede ejecutar estos cuadernos en Amazon SageMaker AI o de forma local si ha instalado el [SDK de Amazon SageMaker Python](https://sagemaker.readthedocs.io/en/stable). Puede compartir las libretas como cualquier otra libreta de SageMaker Studio Classic. Los cuadernos están creados para que realices experimentos. Por ejemplo, puede editar los siguientes elementos en los blocs de notas:
+ Preprocesadores utilizados en los datos 
+ Número de ejecuciones de optimización de hiperparámetros (HPO) y su paralelismo
+ Algoritmos por probar
+ Tipos de instancia utilizados para los trabajos de HPO
+ Intervalos de hiperparámetros

Como método de aprendizaje, es recomendable hacer modificaciones en el cuaderno de definiciones de candidatos. Esta capacidad le permite entender cómo afectan a sus resultados las decisiones tomadas durante el proceso de machine learning. 

**nota**  
Al ejecutar los cuadernos en la instancia predeterminada, habrá un impacto en los costos básicos. Sin embargo, cuando ejecuta trabajos de HPO desde el cuaderno candidato, estos trabajos utilizan recursos de computación adicionales que generan costos adicionales. 

# Informe de exploración de datos de Piloto automático
<a name="autopilot-data-exploration-report"></a>

Amazon SageMaker Autopilot limpia y preprocesa el conjunto de datos automáticamente. Los datos de alta calidad mejoran la eficiencia del machine learning y generan modelos que permiten realizar predicciones más precisas. 

Algunos problemas relacionados con los conjuntos de datos proporcionados por los clientes no se pueden solucionar automáticamente sin contar con conocimientos sobre la materia. Los valores atípicos grandes en la columna objetivo para problemas de regresión, por ejemplo, pueden provocar predicciones subóptimas para los valores no atípicos. Es posible que sea necesario eliminar los valores atípicos según el objetivo del modelado. Si una columna objetivo se incluye por accidente como una de las características de entrada, el modelo final se validará bien, pero tendrá poco valor para futuras predicciones. 

Para ayudar a los clientes a descubrir este tipo de problemas, Piloto automático proporciona un informe de exploración de datos que contiene información sobre los posibles problemas con sus datos. El informe también sugiere cómo abordar los problemas.

En todos los trabajos de Piloto automático, se genera un cuaderno de exploración de datos con dicho informe. El informe se almacena en un bucket de Amazon S3 y se puede acceder a él desde su ruta de salida. La ruta del informe de exploración de datos suele seguir el siguiente patrón.

```
[s3 output path]/[name of the automl job]/sagemaker-automl-candidates/[name of processing job used for data analysis]/notebooks/SageMaker AIAutopilotDataExplorationNotebook.ipynb
```

La ubicación del cuaderno de exploración de datos se puede obtener de la API del piloto automático mediante la respuesta de la [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_DescribeAutoMLJob.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_DescribeAutoMLJob.html)operación, que se almacena en. [DataExplorationNotebookLocation](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_AutoMLJobArtifacts.html#sagemaker-Type-AutoMLJobArtifacts-DataExplorationNotebookLocation) 

Al ejecutar el piloto automático desde SageMaker Studio Classic, puede abrir el informe de exploración de datos siguiendo estos pasos:

1. Seleccione el icono ![\[Black square icon representing a placeholder or empty image.\]](http://docs.aws.amazon.com/es_es/sagemaker/latest/dg/images/studio/icons/house.png) de **inicio** en el *panel de navegación izquierdo* para ver el menú de navegación de nivel superior de **Amazon SageMaker Studio Classic**.

1. Seleccione la tarjeta **AutoML** en el área de trabajo principal. Se abrirá una nueva pestaña **Piloto automático**.

1. En la sección **Nombre**, seleccione el trabajo de Piloto automático que contiene el cuaderno de exploración de datos que desea examinar. Se abrirá una nueva pestaña **Trabajo de piloto automático**.

1. Seleccione **Abrir cuaderno de exploración de datos** en la sección superior derecha de la pestaña **Trabajo de piloto automático**.

El informe de exploración de datos se genera a partir de sus datos antes de que comience el proceso de entrenamiento. Esto le permite detener los trabajos de Piloto automático que podrían generar resultados irrelevantes. Del mismo modo, puede abordar cualquier problema o mejora en el conjunto de datos antes de volver a ejecutar Piloto automático. De esta forma, puede utilizar su experiencia para mejorar la calidad de los datos de forma manual y entrenar así al modelo con un conjunto de datos que esté más preparado.

El informe de datos solo contiene reducciones estáticas y se puede abrir en cualquier entorno de Jupyter. El cuaderno que contiene el informe se puede convertir a otros formatos, como PDF o HTML. Para obtener más información sobre las conversiones, consulte [Using the nbconvert script to convert Jupyter notebooks to other formats](https://nbconvert.readthedocs.io/en/latest/usage.html ).

**Topics**
+ [Resumen de conjunto de datos](#autopilot-data-exploration-report-dataset-summary)
+ [Análisis de objetivos](#autopilot-data-exploration-report-target-analysis)
+ [Ejemplo de datos](#autopilot-data-exploration-report-data-sample)
+ [Filas duplicadas](#autopilot-data-exploration-report-duplicate-rows)
+ [Correlaciones entre columnas](#autopilot-data-exploration-report-cross-column-correlations)
+ [Filas anómalas](#autopilot-data-exploration-report-cross-anomolous-rows)
+ [Valores que faltan, cardinalidad y estadísticas descriptivas](#autopilot-data-exploration-report-description-statistics-and-values)

## Resumen de conjunto de datos
<a name="autopilot-data-exploration-report-dataset-summary"></a>

Este **Resumen de conjunto de datos** proporciona estadísticas clave que caracterizan su conjunto de datos, como el número de filas, el número de columnas, el porcentaje de filas duplicadas y los valores objetivo que faltan. Su objetivo es proporcionarle una alerta rápida cuando haya algún problema con su conjunto de datos que Amazon SageMaker Autopilot haya detectado y que pueda requerir su intervención. La información se presenta como advertencias que se clasifican en gravedad “alta” o “baja”. La clasificación depende del nivel de confianza que existe en que el problema afectará negativamente al rendimiento del modelo.

Los datos de gravedad alta y baja aparecen en el resumen en forma de ventanas emergentes. Para la mayoría de los datos, se ofrecen recomendaciones sobre cómo confirmar que existe un problema con el conjunto de datos que requiere su atención. También hay propuestas sobre cómo resolver los problemas.

Piloto automático proporciona estadísticas adicionales sobre los valores objetivo que faltan o no son válidos en nuestro conjunto de datos, para ayudarle a detectar otros problemas que tal vez no se capten con información de gravedad alta. Un número inesperado de columnas de un tipo concreto podría indicar que es posible que algunas columnas que desee utilizar no estén incluidas en el conjunto de datos. También podría indicar que hubo un problema con la forma en que se prepararon o almacenaron los datos. Si se solucionan los problemas de datos detectados por Piloto automático, se puede mejorar el rendimiento de los modelos de machine learning basados en los datos. 

La información sobre gravedad alta se muestra en la sección de resumen y en otras secciones relevantes del informe. Por lo general, se proporcionan ejemplos de información de gravedad alta y baja según la sección del informe de datos.

## Análisis de objetivos
<a name="autopilot-data-exploration-report-target-analysis"></a>

En esta sección, se muestran varios datos de gravedad alta y baja relacionados con la distribución de los valores en la columna objetivo. Compruebe que la columna objetivo contenga los valores correctos. Los valores incorrectos en la columna objetivo probablemente den como resultado un modelo de machine learning que no sirva para el propósito comercial previsto. En esta sección, se incluyen varios datos de alta y baja gravedad. A continuación, se presentan varios ejemplos.
+ **Valores objetivo atípicos**: distribución objetivo asimétrica o sesgada para la regresión, como los lugares con una alta probabilidad de valores atípicos.
+ **Cardinalidad objetivo alta o baja**: número poco frecuente de etiquetas de clase o un gran número de clases únicas para la clasificación.

Tanto para los tipos de problemas de regresión como los de clasificación, aparecen valores no válidos, como el infinito numérico, `NaN` o un espacio vacío en la columna de destino. Según el tipo de problema, se presentan diferentes estadísticas del conjunto de datos. Una distribución de los valores de las columnas objetivo para un problema de regresión le permite verificar si la distribución es la que esperaba. 

La siguiente captura de pantalla muestra un informe de datos de Piloto automático, que incluye estadísticas como la media, la mediana, el mínimo, el máximo y el porcentaje de valores atípicos del conjunto de datos. La captura de pantalla también incluye un histograma que muestra la distribución de las etiquetas en la columna de destino. En el histograma, se muestran los **valores de la columna objetivo** en el eje horizontal y el **recuento** en el eje vertical. Un cuadro resalta la sección **Porcentaje de valores atípicos** de la captura de pantalla para indicar dónde aparece esta estadística.

![\[Informe de datos de Piloto automático sobre la distribución de los valores de la columna objetivo.\]](http://docs.aws.amazon.com/es_es/sagemaker/latest/dg/images/autopilot/autopilot-data-report-target-analysis.png)


Hay varias estadísticas sobre los valores objetivo y su distribución. Si alguno de los valores atípicos, valores no válidos o porcentajes faltantes es superior a cero, estos valores aparecen para que pueda investigar por qué sus datos contienen valores objetivo inutilizables. Algunos valores objetivo inutilizables aparecen resaltados como una advertencia de gravedad baja. 

En la siguiente captura de pantalla, se ha añadido accidentalmente un símbolo ` a la columna de destino, lo que impidió analizar el valor numérico del objetivo. Aparece el aviso **Datos de gravedad baja: “Valores objetivo no válidos”**. La advertencia de este ejemplo dice lo siguiente: “El 0,14 % de las etiquetas de la columna de destino no se ha podido convertir a valores numéricos. Los valores no numéricos más comunes son ["-3,8e-05","-9-05","-4,7e-05","-1,4999999999999999e-05","-4,3e-05"]. Esto suele indicar que hay problemas con la recopilación o el procesamiento de los datos. Amazon SageMaker Autopilot ignora todas las observaciones cuya etiqueta de destino no sea válida».

![\[Los datos de Piloto automático muestran una advertencia de gravedad baja sobre valores objetivo no válidos.\]](http://docs.aws.amazon.com/es_es/sagemaker/latest/dg/images/autopilot/autopilot-data-report-target-analysis-invalid-target-values.png)


Piloto automático también proporciona un histograma que muestra la distribución de las etiquetas para su clasificación. 

La siguiente captura de pantalla muestra un ejemplo de estadísticas proporcionadas para la columna de destino, incluido el número de clases y los valores faltantes o no válidos. Un histograma con la **etiqueta de destino** en el eje horizontal y la **frecuencia** en el eje vertical muestra la distribución de cada categoría de etiquetas.

![\[Los datos de Piloto automático indican una alta cardinalidad para la clasificación.\]](http://docs.aws.amazon.com/es_es/sagemaker/latest/dg/images/autopilot/autopilot-data-report-target-analysis-invalid-classification.png)


**nota**  
Puede encontrar las definiciones de todos los términos presentados en esta y otras secciones en la sección **Definiciones**, en la parte inferior del cuaderno de informes.

## Ejemplo de datos
<a name="autopilot-data-exploration-report-data-sample"></a>

Piloto automático presenta una muestra real de sus datos para ayudarte a detectar problemas en el conjunto de datos. La tabla de muestra se desplaza horizontalmente. Inspeccione los datos de muestra para verificar que todas las columnas necesarias estén presentes en el conjunto de datos. 

Piloto automático también calcula una medida de la potencia predictiva, que se puede utilizar para identificar una relación lineal o no lineal entre una característica y la variable objetivo. El valor `0` indica que la característica no tiene ningún valor predictivo para predecir la variable objetivo. Un valor `1` indica la potencia predictiva más alta para la variable objetivo. Para obtener más información sobre la potencia predictiva, consulte la sección **Definiciones**. 

**nota**  
No es recomendable utilizar la potencia predictiva como sustituto de la importancia de las características. Úsela solo si está seguro de que la potencia predictiva es una medida adecuada para el caso de uso en particular.

En la siguiente captura de pantalla, se ve un ejemplo de muestra de datos. La fila superior contiene la potencia predictiva de cada columna del conjunto de datos. La segunda fila contiene el tipo de datos de la columna. Las filas siguientes contienen las etiquetas. Las columnas contienen la columna de destino seguida de cada columna de características. Cada columna de características tiene una potencia predictiva asociada (resaltada en esta captura de pantalla con un recuadro). En este ejemplo, la columna que contiene la característica `x51` tiene una potencia predictiva de `0.68` para la variable objetivo `y`. La característica `x55` es ligeramente menos predictiva: tiene una potencia predictiva de `0.59`.

![\[Los datos de Piloto automático informan sobre la potencia predictiva de la muestra de datos.\]](http://docs.aws.amazon.com/es_es/sagemaker/latest/dg/images/autopilot/autopilot-data-report-data-sample-prediction.png)


## Filas duplicadas
<a name="autopilot-data-exploration-report-duplicate-rows"></a>

Si hay filas duplicadas en el conjunto de datos, Amazon SageMaker Autopilot muestra una muestra de ellas.

**nota**  
No se recomienda equilibrar un conjunto de datos con un sobremuestreo antes de proporcionárselo a Piloto automático. Esto puede provocar que las puntuaciones de validación de los modelos entrenados con Piloto automático sean inexactas y que los modelos que se produzcan queden inutilizables.

## Correlaciones entre columnas
<a name="autopilot-data-exploration-report-cross-column-correlations"></a>

Piloto automático utiliza el coeficiente de correlación de Pearson, una medida de la correlación lineal entre dos características, para rellenar una matriz de correlación. En la matriz de correlación, las características numéricas se representan en los ejes horizontal y vertical, y el coeficiente de correlación de Pearson se representa en sus intersecciones. Cuanto mayor sea la correlación entre dos características, mayor será el coeficiente, con un valor máximo de `|1|`.
+ Un valor de `-1` indica que las características están perfectamente correlacionadas negativamente.
+ Un valor de `1`, que ocurre cuando una característica está correlacionada consigo misma, indica una correlación positiva perfecta.

Puede utilizar la información de la matriz de correlación para eliminar las características con un nivel alto de correlación. Un número menor de características reduce las posibilidades de sobreajustar un modelo; además, puede contribuir a abaratar los costos de producción de dos maneras. Reduce el tiempo de ejecución de Piloto automático necesario y, en el caso de algunas aplicaciones, puede abaratar los procedimientos de recopilación de datos. 

En la siguiente captura de pantalla, se muestra un ejemplo de matriz de correlación entre `7` características. Cada característica se muestra en una matriz en los ejes horizontal y vertical. El coeficiente de correlación de Pearson se muestra en la intersección entre dos características. Cada intersección de características tiene un tono de color asociado. Cuanto mayor sea la correlación, más oscuro será el tono. Los tonos más oscuros ocupan la diagonal de la matriz, donde cada característica se correlaciona consigo misma, lo que representa una correlación perfecta.

![\[Matriz de correlación cruzada de datos de Piloto automático.\]](http://docs.aws.amazon.com/es_es/sagemaker/latest/dg/images/autopilot/autopilot-data-report-data-cross-column-statistics.png)


## Filas anómalas
<a name="autopilot-data-exploration-report-cross-anomolous-rows"></a>

Amazon SageMaker Autopilot detecta qué filas del conjunto de datos pueden ser anómalas. A continuación, asigna una puntuación de anomalía a cada fila. Las filas con puntuaciones de anomalía negativas se consideran anómalas. 

La siguiente captura de pantalla muestra el resultado de un análisis de Piloto automático para las filas que contienen anomalías. Junto a las columnas del conjunto de datos de cada fila, aparece una columna que contiene una puntuación anómala.

![\[Conjunto de datos de Piloto automático con filas anómalas; se pueden ver las puntuaciones de anomalía negativas\]](http://docs.aws.amazon.com/es_es/sagemaker/latest/dg/images/autopilot/autopilot-data-report-data-anomalous-rows.png)


## Valores que faltan, cardinalidad y estadísticas descriptivas
<a name="autopilot-data-exploration-report-description-statistics-and-values"></a>

Amazon SageMaker Autopilot examina e informa sobre las propiedades de las columnas individuales de su conjunto de datos. En cada sección del informe de datos que presenta este análisis, el contenido está organizado. De este modo, puede comprobar primero los valores más “sospechosos”. Con estas estadísticas, puede mejorar el contenido de las columnas individuales y la calidad del modelo producido por Piloto automático.

Piloto automático calcula varias estadísticas sobre los valores categóricos en las columnas que los contienen. Esto incluye el número de entradas únicas y, para texto, el número de palabras únicas.

Piloto automático calcula varias estadísticas estándar sobre los valores numéricos en las columnas que los contienen. La siguiente imagen muestra estas estadísticas, lo que incluye los valores medio, mediano, mínimo y máximo, así como los porcentajes de los tipos numéricos y de los valores atípicos. 

![\[Piloto automático muestra los datos en estadísticas de columnas con valores numéricos.\]](http://docs.aws.amazon.com/es_es/sagemaker/latest/dg/images/autopilot/autopilot-data-report-data-descriptive-statistics.png)


# Búsqueda y ejecución del cuaderno de definición de candidatos
<a name="autopilot-candidate-generation-notebook"></a>

El cuaderno de definición de candidatos contiene todos los pasos de preprocesamiento, los algoritmos y los rangos de hiperparámetros sugeridos. 

Puede elegir el candidato que desea entrenar y ajustar de dos maneras. En primer lugar, ejecutando secciones del cuaderno. En segundo lugar, ejecutando todo el cuaderno para optimizar a todos los candidatos e identificar al mejor candidato. Si ejecuta todo el cuaderno, solo se mostrará el mejor candidato tras finalizar el trabajo. 

Para ejecutar el piloto automático desde SageMaker Studio Classic, abra el cuaderno de definiciones candidatas siguiendo estos pasos:

1. Seleccione el icono ![\[Black square icon representing a placeholder or empty image.\]](http://docs.aws.amazon.com/es_es/sagemaker/latest/dg/images/studio/icons/house.png) de **inicio** en el panel de navegación izquierdo para ver el menú de navegación de nivel superior de **Amazon SageMaker Studio Classic**.

1. Seleccione la tarjeta **AutoML** en el área de trabajo principal. Se abrirá una nueva pestaña **Piloto automático**.

1. En la sección **Nombre**, seleccione el trabajo de Piloto automático que contenga el cuaderno de definiciones de candidatos que desee examinar. Se abrirá una nueva pestaña **Trabajo de Piloto automático**.

1. Seleccione **Abrir el cuaderno de generación de candidatos**, en la sección superior derecha de la pestaña **Trabajo de Piloto automático**. Esto abre una nueva vista previa de solo lectura del cuaderno de definiciones de **candidatos de Amazon SageMaker Autopilot**.

Para ejecutar el cuaderno de definición de candidatos, siga estos pasos:

1. Selecciona **Importar bloc de notas** en la parte superior derecha de la pestaña Bloc de **notas con definiciones de candidatos de Amazon SageMaker Autopilot**. Esto abrirá una pestaña para configurar un nuevo entorno de cuaderno a fin de ejecutar el cuaderno.

1. Seleccione una SageMaker **imagen** existente o utilice una **imagen personalizada**. 

1. Seleccione un **Kernel**, un **Tipo de instancia** y un **Script de inicio** opcional.

Ahora puede ejecutar el cuaderno en este nuevo entorno.

# Configure el resultado de la inferencia en los contenedores generados
<a name="autopilot-automate-model-development-container-output"></a>

Piloto automático genera una lista [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_ContainerDefinition.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_ContainerDefinition.html) ordenada. Esto se puede usar para crear un modelo e implementarlo en una canalización de machine learning. Este modelo se puede utilizar para el alojamiento en línea y la inferencia. 

Los clientes pueden enumerar las definiciones de los contenedores de inferencia con la API [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_ListCandidateForAutoMLJob.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_ListCandidateForAutoMLJob.html). La lista de definiciones de contenedores de inferencia que representan el mejor candidato también está disponible en la respuesta [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_DescribeAutoMLJob.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_DescribeAutoMLJob.html).

## Definiciones de contenedores de inferencia para tipos de problemas de regresión y clasificación
<a name="autopilot-problem-type-container-output"></a>

Piloto automático genera contenedores de inferencia específicos para el [modo de entrenamiento](https://docs.aws.amazon.com/sagemaker/latest/dg/autopilot-model-support-validation.html#autopilot-training-mode) y el [tipo de problema](https://docs.aws.amazon.com/sagemaker/latest/dg/autopilot-datasets-problem-types.html#autopilot-problem-types) del trabajo.

### Definiciones de contenedores para el modo de optimización de hiperparámetros (HPO)
<a name="autopilot-problem-type-container-output-hpo"></a>
+ **Regresión**: HPO genera dos contenedores.

  1. Un contenedor de ingeniería de características que transforma las características originales en características sobre las que pueden entrenarse los algoritmos de regresión.

  1. Un contenedor de algoritmos que transforma las características y genera una puntuación de regresión para el conjunto de datos.
+ **Clasificación**: HPO genera tres contenedores.

  1. Un contenedor de ingeniería de características que transforma las características originales en características sobre las que pueden entrenarse los algoritmos de clasificación.

  1. Un contenedor de algoritmos que genera el `predicted_label` con la probabilidad más alta. Este contenedor también puede generar las diversas probabilidades asociadas a los resultados de la clasificación en la respuesta de inferencia.

  1. Un contenedor de ingeniería de características que realiza el posprocesamiento de la predicción del algoritmo. Por ejemplo, puede realizar una transformación inversa en la etiqueta prevista y cambiarla por la etiqueta original. 

### Definiciones de contenedores para el modo de ensamblaje
<a name="autopilot-problem-type-container-output-ensemble"></a>

En el modo de ensamblaje, los tipos de problemas de regresión y clasificación tienen un solo contenedor de inferencias. Este contenedor de inferencias transforma las características y genera las predicciones en función del tipo de problema. 

## Respuestas de inferencias por tipo de problema
<a name="autopilot-problem-type-inference-response"></a>

### Respuestas de inferencias para modelos de clasificación
<a name="autopilot-problem-type-inference-response-classification"></a>

En los contenedores de inferencias de clasificación, puede seleccionar el contenido de la respuesta de inferencia mediante cuatro claves predefinidas.
+ `predicted_label`: la etiqueta con la mayor probabilidad de predecir la etiqueta correcta, según lo determinado por Piloto automático.
+ `probability`: 
  + **Modelos HPO:** la probabilidad de la clase `True` para clasificación binaria. La probabilidad de `predicted_label` para la clasificación multiclase.
  + **Modelos de ensamblaje:** la probabilidad de `predicted_label` para la clasificación binaria y multiclase.
+ `probabilities`: la lista de probabilidades de todas las clases correspondientes.
+ `labels`: la lista de todas las etiquetas.

Por ejemplo, para un problema de clasificación binaria, si pasa las claves de respuesta de inferencias `['predicted_label', 'probability', 'probabilities', 'labels']` y la respuesta de salida aparece como `[1, 0.1, "[0.9, 0.1]", "['1', '0']"]`, debe interpretarla de la siguiente manera:

1. `predicted_label` es igual a `1` porque la etiqueta “1” tiene una probabilidad mayor (en este caso, `0.9`).

1. Para los modelos HPO, `probability` es igual a `0.1`, que es la probabilidad de la `positive_class` (en este caso, `0`) seleccionada por Piloto automático.

   Para los modelos de ensamblaje, `probability` es igual a `0.9`, que es la probabilidad de la `predicted_label`.

1. `probabilities` muestra la `probability` de cada etiqueta en `labels`.

1. `labels` son las etiquetas únicas del conjunto de datos, donde la segunda etiqueta (“0” en este caso) es la `positive_class` seleccionada por Piloto automático.

De forma predeterminada, los contenedores de inferencias están configurados para generar solo la `predicted_label`. Para seleccionar contenido de inferencia adicional, puede actualizar el parámetro `inference_response_keys` para incluir hasta las siguientes tres variables de entorno.
+ `SAGEMAKER_INFERENCE_SUPPORTED`: configurado para proporcionarle sugerencias sobre el contenido que admite cada contenedor.
+ `SAGEMAKER_INFERENCE_INPUT`: debe configurarse con las claves que el contenedor espera en la carga de entrada.
+ `SAGEMAKER_INFERENCE_OUTPUT`: debe rellenarse con el conjunto de claves que genera el contenedor.

### Respuestas de inferencias para modelos de clasificación en el modo HPO
<a name="autopilot-problem-type-inference-response-classification-hpo"></a>

En esta sección, se muestra cómo configurar la respuesta de inferencias de los modelos de clasificación mediante el modo de optimización de hiperparámetros (HPO).

A fin de elegir el contenido de la respuesta de inferencias en el modo HPO, añada las variables `SAGEMAKER_INFERENCE_INPUT` y `SAGEMAKER_INFERENCE_OUTPUT` a los contenedores segundo y tercero que se generan en el modo HPO para los problemas de clasificación.

Las claves que admite el segundo contenedor (algoritmo) son predicted\$1label, probability y probabilities. Tenga en cuenta que, de forma deliberada, `labels` no se ha agregado a `SAGEMAKER_INFERENCE_SUPPORTED`.

Las claves que admite el contenedor del modelo de tercera clasificación son `predicted_label`, `labels`, `probability` y `probabilities`. Por lo tanto, el entorno `SAGEMAKER_INFERENCE_SUPPORTED` incluye los nombres de estas claves.

A fin de actualizar la definición de los contenedores de inferencia de modo que reciban a `predicted_label` y `probability`, utilice el siguiente ejemplo de código.

```
containers[1]['Environment'].update({'SAGEMAKER_INFERENCE_OUTPUT': 'predicted_label, probability'})
containers[2]['Environment'].update({'SAGEMAKER_INFERENCE_INPUT': 'predicted_label, probability'})
containers[2]['Environment'].update({'SAGEMAKER_INFERENCE_OUTPUT': 'predicted_label, probability'})
```

El siguiente ejemplo de código actualiza la definición de los contenedores de inferencia de modo que reciban a `predicted_label`, `labels` y `probabilities`. No transfiera `labels` al segundo contenedor (el contenedor del algoritmo), ya que el tercer contenedor lo genera de forma independiente. 

```
containers[1]['Environment'].update({'SAGEMAKER_INFERENCE_OUTPUT': 'predicted_label,probabilities'})
containers[2]['Environment'].update({'SAGEMAKER_INFERENCE_INPUT': 'predicted_label,probabilities'})
containers[2]['Environment'].update({'SAGEMAKER_INFERENCE_OUTPUT': 'predicted_label, probabilities,labels'})
```

Las siguientes secciones plegables proporcionan ejemplos de código para AWS SDK para Python (Boto3) y para el SageMaker SDK para Python. En cada sección se muestra cómo seleccionar el contenido de las respuestas de inferencia en modo HPO para el ejemplo de código correspondiente.

#### AWS SDK para Python (Boto3)
<a name="autopilot-problem-type-inference-response-classification-hpo-boto3"></a>

```
import boto3

sm_client = boto3.client('sagemaker', region_name='<Region>')

role = '<IAM role>'
input_data = '<S3 input uri>'
output_path = '<S3 output uri>'

best_candidate = sm_client.describe_auto_ml_job(AutoMLJobName='<AutoML Job Name>')['BestCandidate']
best_candidate_containers = best_candidate['InferenceContainers']
best_candidate_name = best_candidate['CandidateName']

best_candidate_containers[1]['Environment'].update({'SAGEMAKER_INFERENCE_OUTPUT': 'predicted_label, probability'})
best_candidate_containers[2]['Environment'].update({'SAGEMAKER_INFERENCE_INPUT': 'predicted_label, probability'})
best_candidate_containers[2]['Environment'].update({'SAGEMAKER_INFERENCE_OUTPUT': 'predicted_label, probability'})

# create model
reponse = sm_client.create_model(
    ModelName = '<Model Name>',
    ExecutionRoleArn = role,
    Containers = best_candidate_containers
)

# Lauch Transform Job
response = sm_client.create_transform_job(
    TransformJobName='<Transform Job Name>',
    ModelName='<Model Name>',
    TransformInput={
        'DataSource': {
            'S3DataSource': {
                'S3DataType': 'S3Prefix',
                'S3Uri': input_data
            }
        },
        'ContentType': "text/CSV",
        'SplitType': 'Line'
    },
    TransformOutput={
        'S3OutputPath': output_path,
        'AssembleWith': 'Line',
    },
    TransformResources={
        'InstanceType': 'ml.m4.xlarge',
        'InstanceCount': 1,
    },
)
```

#### SageMaker SDK para Python
<a name="autopilot-problem-type-inference-response-classification-hpo-sdk"></a>

```
from sagemaker import AutoML

aml = AutoML.attach(auto_ml_job_name='<AutoML Job Name>')
aml_best_model = aml.create_model(name='<Model Name>',
                                  candidate=None,
                                  inference_response_keys**=['probabilities', 'labels'])

aml_transformer = aml_best_model.transformer(accept='text/csv',
                                            assemble_with='Line',
                                            instance_type='ml.m5.xlarge',
                                            instance_count=1,)

aml_transformer.transform('<S3 input uri>',
                          content_type='text/csv',
                          split_type='Line',
                          job_name='<Transform Job Name>',
                          wait=True)
```

### Respuestas de inferencias para modelos de clasificación en el modo ensamblaje
<a name="autopilot-problem-type-inference-response-classification-ensemble"></a>

En esta sección, se muestra cómo configurar la respuesta de inferencias de los modelos de clasificación mediante el modo de ensamblaje. 

En el **modo de ensamblaje**, para elegir el contenido de la respuesta de inferencia, actualice la variable de entorno `SAGEMAKER_INFERENCE_OUTPUT`.

Las claves que admite el contenedor del modelo de clasificación son `predicted_label`, `labels`, `probability` y `probabilities`. Estas claves se incluyen en el entorno `SAGEMAKER_INFERENCE_SUPPORTED`.

A fin de actualizar la definición de los contenedores de inferencia de modo que reciban a `predicted_label` y `probability`, consulte el siguiente ejemplo de código.

```
containers[0]['Environment'].update({'SAGEMAKER_INFERENCE_OUTPUT': 'predicted_label, probability'})
```

La siguiente sección contraíble proporciona un ejemplo de código para seleccionar el contenido de las respuestas de inferencia en el modo de ensamblaje. El ejemplo usa AWS SDK para Python (Boto3).

#### AWS SDK para Python (Boto3)
<a name="autopilot-problem-type-inference-response-classification-ensembling-boto3"></a>

```
import boto3
sm_client = boto3.client('sagemaker', region_name='<Region>')

role = '<IAM role>'
input_data = '<S3 input uri>'
output_path = '<S3 output uri>' 

best_candidate = sm_client.describe_auto_ml_job(AutoMLJobName='<AutoML Job Name>')['BestCandidate']
best_candidate_containers = best_candidate['InferenceContainers']
best_candidate_name = best_candidate['CandidateName']

*best_candidate_containers[0]['Environment'].update({'SAGEMAKER_INFERENCE_OUTPUT': 'predicted_label, probability'})
*
# create model
reponse = sm_client.create_model(
    ModelName = '<Model Name>',
    ExecutionRoleArn = role,
    Containers = best_candidate_containers
)

# Lauch Transform Job
response = sm_client.create_transform_job(
    TransformJobName='<Transform Job Name>',
    ModelName='<Model Name>',
    TransformInput={
        'DataSource': {
            'S3DataSource': {
                'S3DataType': 'S3Prefix',
                'S3Uri': input_data
            }
        },
        'ContentType': "text/CSV",
        'SplitType': 'Line'
    },
    TransformOutput={
        'S3OutputPath': output_path,
        'AssembleWith': 'Line',
    },
    TransformResources={
        'InstanceType': 'ml.m4.xlarge',
        'InstanceCount': 1,
    },
)
```

La siguiente sección plegable proporciona un ejemplo de código que es idéntico al ejemplo de SageMaker SDK para Python para HPO. Se incluye aquí para acceder con comodidad.

#### SageMaker SDK para Python
<a name="autopilot-problem-type-inference-response-classification-ensembling-sdk"></a>

El siguiente ejemplo de código de HPO usa el SageMaker SDK para Python.

```
from sagemaker import AutoML

aml = AutoML.attach(auto_ml_job_name='<AutoML Job Name>')
aml_best_model = aml.create_model(name='<Model Name>',
                                  candidate=None,
                                  *inference_response_keys**=['probabilities', 'labels'])*

aml_transformer = aml_best_model.transformer(accept='text/csv',
                                            assemble_with='Line',
                                            instance_type='ml.m5.xlarge',
                                            instance_count=1,)

aml_transformer.transform('<S3 input uri>',
                          content_type='text/csv',
                          split_type='Line',
                          job_name='<Transform Job Name>',
                          wait=True)
```