Entraîner des modèles

Cette page explique comment utiliser AutoML Tables pour entraîner un modèle personnalisé sur votre ensemble de données. Vous devez déjà avoir créé un ensemble de données et y avoir importé des données.

Introduction

Pour créer un modèle personnalisé, vous l'entraînez à l'aide d'un ensemble de données préparé. AutoML Tables utilise les éléments de l'ensemble de données pour entraîner le modèle, le tester et évaluer ses performances. Vous pouvez examiner les résultats, ajuster l'ensemble de données d'entraînement si nécessaire et entraîner un nouveau modèle à l'aide de l'ensemble de données amélioré.

Lors la préparation à l'entraînement d'un modèle, vous mettez à jour les informations de schéma de l'ensemble de données. Ces mises à jour de schéma ont une incidence sur les modèles futurs qui se serviront de cet ensemble de données. Les modèles qui ont déjà commencé l'entraînement ne lui sont pas attribués.

L'entraînement d'un modèle peut prendre plusieurs heures. Vous pouvez vérifier la progression de l'entraînement dans Cloud Console ou à l'aide de l'API Cloud AutoML.

Étant donné que AutoML Tables crée un modèle chaque fois que vous démarrez l'entraînement, votre projet peut inclure de nombreux modèles. Vous pouvez obtenir la liste des modèles de votre projet et supprimer les modèles dont vous n’avez plus besoin.

Les modèles doivent être à nouveau entraînés régulièrement afin de pouvoir continuer à diffuser des prédictions. Pour les prédictions sans importance liée aux caractéristiques, un modèle doit être à nouveau entraîné très longtemps. Pour les prédictions avec importance des caractéristiques, un modèle doit être à nouveau entraîné tous les six mois.

Entraîner un modèle

Console

  1. Si nécessaire, ouvrez la page Ensembles de données et cliquez sur l'ensemble de données que vous souhaitez utiliser.

    L'ensemble de données est alors ouvert dans l'onglet Train (Entraînement).

    Page "Schéma" d'AutoML Tables

  2. Sélectionnez la colonne cible de votre modèle.

    Il s'agit de la valeur que le modèle est entraîné à prédire. Son type de données détermine le type de modèle généré : modèle de régression (numérique) ou de classification (catégoriel). En savoir plus

    Si la colonne cible est associée à un type de données catégoriel, elle doit contenir au moins deux et au plus 500 valeurs distinctes.

  3. Examinez le type de données, le paramètre de valeur vide et les statistiques des données de chaque colonne de l'ensemble de données.

    Vous pouvez cliquer sur chaque colonne pour obtenir plus d'informations. En savoir plus sur l'examen du schéma

    Page "Schéma" d'AutoML Tables

  4. Si vous souhaitez contrôler la répartition des données, cliquez sur Modifier les paramètres supplémentaires, puis spécifiez une colonne de répartition ou une colonne Heure. En savoir plus

    Page "Schéma" d'AutoML Tables

  5. Si vous souhaitez pondérer vos exemples d'entraînement par la valeur d'une colonne, cliquez sur Modifier des paramètres supplémentaires, puis spécifiez la colonne appropriée. En savoir plus

  6. Examinez les statistiques récapitulatives et les détails pour vous assurer que la qualité des données est conforme à vos prévisions et que les colonnes à exclure lors de la création du modèle ont bien été identifiées.

    Pour obtenir d'autres informations, consultez la section Analyser vos données d'entraînement.

  7. Lorsque le schéma de l'ensemble de données vous convient, cliquez sur Train model (Entraîner le modèle) en haut de l'écran.

    Lorsque vous apportez des modifications à votre schéma, les AutoML Tables met à jour les statistiques récapitulatives, ce qui peut prendre quelques instants. Vous n'avez pas besoin d'attendre que ce processus soit terminé pour lancer l'entraînement du modèle.

    Page "Schéma" d'AutoML Tables

  8. Dans Training budget (Budget d'entraînement), entrez le nombre maximal d’heures d'entraînement pour ce modèle.

    Le budget d'entraînement est compris entre 1 et 72 heures. Il s'agit de la durée maximale d'entraînement qui vous sera facturée.

    La durée d'entraînement suggérée dépend de la taille de vos données d'entraînement. Le tableau ci-dessous présente les plages de durée d'entraînement suggérées par nombre de lignes. Un grand nombre de colonnes augmente également la durée.

    Lignes Durée d'entraînement suggérée
    Moins de 100 000 1 à 3 heures
    100 000 - 1 000 000 1 à 6 heures
    1 000 000 - 10 000 000 1 à 12 heures
    Plus de 10 000 000 3 à 24 heures

    La création de modèle comprend d'autres tâches que l'entraînement. Le temps total nécessaire à la création de votre modèle est donc supérieur au temps d'entraînement. Par exemple, si vous spécifiez 2 heures d'entraînement, le déploiement du modèle peut prendre encore 3 heures ou plus. Seule la durée réelle de l'entraînement vous est facturée.

    Renseignez-vous sur les tarifs relatifs à l'entraînement.

    Si AutoML Tables détecte que le modèle ne s'améliore plus avant l'épuisement du budget d'entraînement, le processus est interrompu. Si vous souhaitez utiliser la totalité de la durée d'entraînement budgétée, ouvrez la liste déroulante Advanced options (Options avancées) et désactivez Arrêt prématuré.

  9. Dans la section Sélection des caractéristiques d'entrée, excluez les colonnes que vous avez ciblées pour l'exclusion à l'étape d'analyse du schéma.

  10. Si vous ne souhaitez pas utiliser l'objectif d'optimisation par défaut, ouvrez la liste déroulante Advanced options (Options avancées) et sélectionnez la statistique que AutoML Tables doit optimiser lors de l'entraînement du modèle. En savoir plus.

    En fonction du type de données de votre colonne cible, il est possible qu'il n'y ait qu'un seul choix d'objectif d'optimisation.

  11. Cliquez sur Entraîner un modèle pour commencer l'entraînement du modèle.

    L'entraînement d'un modèle peut prendre plusieurs heures, selon la taille de l'ensemble de données et le budget d'entraînement. Vous pouvez fermer la fenêtre de votre navigateur sans affecter le processus d’entraînement.

    Une fois l'entraînement terminé, des métriques de haut niveau s'affichent pour le modèle dans l'onglet Models, telles que la précision ou le rappel.

    Métriques de haut niveau d'un modèle entraîné

    Pour obtenir de l'aide sur l'évaluation de la qualité de votre modèle, reportez-vous à la section Évaluer des modèles.

API REST et ligne de commande

L'exemple suivant montre comment consulter et mettre à jour votre schéma de données avant d'entraîner le modèle.

Si vos ressources sont situées dans la région UE, utilisez eu pour {location} et utilisez le point de terminaison eu-automl.googleapis.com. Sinon, utilisez us-central1. En savoir plus

  1. Une fois l'importation terminée, répertoriez vos spécifications de table pour obtenir l'ID de table :

    Avant d'utiliser les données de requête ci-dessous, effectuez les remplacements suivants :

    • endpoint : automl.googleapis.com pour l'emplacement mondial et eu-automl.googleapis.com pour la région UE.
    • project-id : ID de votre projet Google Cloud.
    • location : emplacement de la ressource : us-central1 pour l'emplacement mondial ou eu pour l'Union européenne.
    • dataset-id : ID de l'ensemble de données. Exemple : TBL6543.

    Méthode HTTP et URL :

    GET https://endpoint/v1beta1/projects/project-id/locations/location/datasets/dataset-id/tableSpecs/

    Pour envoyer votre requête, développez l'une des options suivantes :

    L'ID de la table est indiqué en gras dans le champ name.

  2. Indiquez vos spécifications de colonne.

    Avant d'utiliser les données de requête ci-dessous, effectuez les remplacements suivants :

    • endpoint : automl.googleapis.com pour l'emplacement mondial et eu-automl.googleapis.com pour la région UE.
    • project-id : ID de votre projet Google Cloud.
    • location : emplacement de la ressource : us-central1 pour l'emplacement mondial ou eu pour l'Union européenne.
    • dataset-id : ID de l'ensemble de données. Exemple : TBL6543.
    • table-id : ID de la table.

    Méthode HTTP et URL :

    GET https://endpoint/v1beta1/projects/project-id/locations/location/datasets/dataset-id/tableSpecs/table-id/columnSpecs/

    Pour envoyer votre requête, développez l'une des options suivantes :

  3. Vous pouvez également configurer votre colonne cible.

    Il s'agit de la valeur que le modèle est entraîné à prédire. Son type de données détermine le type de modèle généré : modèle de régression (numérique) ou de classification (catégoriel). En savoir plus

    Si la colonne cible est associée à un type de données catégoriel, elle doit contenir au moins deux et au plus 500 valeurs distinctes.

    Vous pouvez également spécifier la colonne cible lors de l'entraînement du modèle. Si telle est votre intention, conservez l'ID de la table et l'ID de la colonne cible souhaitée pour une utilisation ultérieure.

    Avant d'utiliser les données de requête ci-dessous, effectuez les remplacements suivants :

    • endpoint : automl.googleapis.com pour l'emplacement mondial et eu-automl.googleapis.com pour la région UE.
    • project-id : ID de votre projet Google Cloud.
    • location : emplacement de la ressource : us-central1 pour l'emplacement mondial ou eu pour l'Union européenne.
    • dataset-id : ID de votre ensemble de données
    • target-column-id : ID de votre colonne cible.

    Méthode HTTP et URL :

    PATCH https://endpoint/v1beta1/projects/project-id/locations/location/datasets/dataset-id

    Corps JSON de la requête :

    {
      "tablesDatasetMetadata": {
        "targetColumnSpecId": "target-column-id"
      }
    }
    

    Pour envoyer votre requête, développez l'une des options suivantes :

  4. Vous pouvez également mettre à jour le champ mlUseColumnSpecId pour spécifier la répartition des données et le champ weightColumnSpecId pour utiliser une colonne de pondération.

    Avant d'utiliser les données de requête ci-dessous, effectuez les remplacements suivants :

    • endpoint : automl.googleapis.com pour l'emplacement mondial et eu-automl.googleapis.com pour la région UE.
    • project-id : ID de votre projet Google Cloud.
    • location : emplacement de la ressource : us-central1 pour l'emplacement mondial ou eu pour l'Union européenne.
    • dataset-id : ID de votre ensemble de données
    • split-column-id : ID de votre colonne cible.
    • weight-column-id : ID de votre colonne cible.

    Méthode HTTP et URL :

    PATCH https://endpoint/v1beta1/projects/project-id/locations/location/datasets/dataset-id

    Corps JSON de la requête :

    {
      "tablesDatasetMetadata": {
        "mlUseColumnSpecId": "split-column-id",
        "weightColumnSpecId": "weight-column-id"
      }
    }
    

    Pour envoyer votre requête, développez l'une des options suivantes :

  5. Examinez vos statistiques de colonne pour vous assurer que les valeurs dataType sont correctes et que le paramètre de colonne nullable est correctement défini.

    Si un champ est marqué comme ne pouvant être vide, cela signifie qu'il ne contenait aucune valeur nulle dans l'ensemble de données d'entraînement. Assurez-vous que ce sera aussi le cas pour vos données de prédiction. Si une colonne est marquée comme ne pouvant être vide et qu'aucune valeur n'est fournie pour cette colonne au moment de la prédiction, une erreur de prédiction sera renvoyée pour cette ligne.

    En savoir plus sur l'examen du schéma

  6. Vérifiez la qualité de vos données.

    En savoir plus sur l'analyse des données d'entraînement

  7. Entraîner le modèle

    Avant d'utiliser les données de requête ci-dessous, effectuez les remplacements suivants :

    • endpoint : automl.googleapis.com pour l'emplacement mondial et eu-automl.googleapis.com pour la région UE.
    • project-id : ID de votre projet Google Cloud.
    • location : emplacement de la ressource : us-central1 pour l'emplacement mondial ou eu pour l'Union européenne.
    • dataset-id : ID de l'ensemble de données
    • table-id : ID de la table, utilisé pour définir la colonne cible.
    • target-column-id : ID de la colonne cible.
    • model-display-name : nom à afficher pour le nouveau modèle.
    • optimization-objective avec la métrique à optimiser (facultatif).

      Reportez-vous à la section À propos des objectifs d'optimisation des modèles.

    • train-budget-milli-node-hours avec le nombre de milli-nœuds-heures pour l'entraînement. Par exemple, 1000 = 1 heure ;

      La durée d'entraînement suggérée dépend de la taille de vos données d'entraînement. Le tableau ci-dessous présente les plages de durée d'entraînement suggérées par nombre de lignes. Un grand nombre de colonnes augmente également la durée.

      Lignes Durée d'entraînement suggérée
      Moins de 100 000 1 à 3 heures
      100 000 - 1 000 000 1 à 6 heures
      1 000 000 - 10 000 000 1 à 12 heures
      Plus de 10 000 000 3 à 24 heures

      La création de modèle comprend d'autres tâches que l'entraînement. Le temps total nécessaire à la création de votre modèle est donc supérieur au temps d'entraînement. Par exemple, si vous spécifiez 2 heures d'entraînement, le déploiement du modèle peut prendre encore 3 heures ou plus. Seule la durée réelle de l'entraînement vous est facturée.

      Renseignez-vous sur les tarifs relatifs à l'entraînement.

      Si AutoML Tables détecte que le modèle ne s'améliore plus avant l'épuisement du budget d'entraînement, le processus est interrompu. Si vous souhaitez utiliser la totalité de la durée d'entraînement budgétée, définissez la propriété disableEarlyStopping de l'objet tablesModelMetadata sur true.

    Méthode HTTP et URL :

    POST https://endpoint/v1beta1/projects/project-id/locations/location/models/

    Corps JSON de la requête :

    {
      "datasetId": "dataset-id",
      "displayName": "model-display-name",
      "tablesModelMetadata": {
        "trainBudgetMilliNodeHours": "train-budget-milli-node-hours",
        "optimizationObjective": "optimization-objective",
        "targetColumnSpec": {
          "name": "projects/project-id/locations/location/datasets/dataset-id/tableSpecs/table-id/columnSpecs/target-column-id"
        }
      },
    }
    

    Pour envoyer votre requête, développez l'une des options suivantes :

    Vous devriez recevoir une réponse JSON de ce type :

    {
    
      "name": "projects/292381/locations/us-central1/operations/TBL64984",
      "metadata": {
        "@type": "type.googleapis.com/google.cloud.automl.v1beta1.OperationMetadata",
        "createTime": "2019-12-30T22:12:03.014058Z",
        "updateTime": "2019-12-30T22:12:03.014058Z",
        "cancellable": true,
        "createModelDetails": {
          "modelDisplayName": "new_model1"
        },
        "worksOn": [
          "projects/292381/locations/us-central1/datasets/TBL3718"
        ],
        "state": "RUNNING"
      }
    }
    

    L'entraînement d'un modèle est une opération de longue durée. Vous pouvez interroger l'état de l'opération ou attendre qu'elle ait abouti. En savoir plus

Java

Si vos ressources sont situées dans la région UE, vous devez définir explicitement le point de terminaison. En savoir plus

import com.google.api.gax.longrunning.OperationFuture;
import com.google.cloud.automl.v1beta1.AutoMlClient;
import com.google.cloud.automl.v1beta1.ColumnSpec;
import com.google.cloud.automl.v1beta1.ColumnSpecName;
import com.google.cloud.automl.v1beta1.LocationName;
import com.google.cloud.automl.v1beta1.Model;
import com.google.cloud.automl.v1beta1.OperationMetadata;
import com.google.cloud.automl.v1beta1.TablesModelMetadata;
import java.io.IOException;
import java.util.concurrent.ExecutionException;

class TablesCreateModel {

  public static void main(String[] args)
      throws IOException, ExecutionException, InterruptedException {
    // TODO(developer): Replace these variables before running the sample.
    String projectId = "YOUR_PROJECT_ID";
    String datasetId = "YOUR_DATASET_ID";
    String tableSpecId = "YOUR_TABLE_SPEC_ID";
    String columnSpecId = "YOUR_COLUMN_SPEC_ID";
    String displayName = "YOUR_DATASET_NAME";
    createModel(projectId, datasetId, tableSpecId, columnSpecId, displayName);
  }

  // Create a model
  static void createModel(
      String projectId,
      String datasetId,
      String tableSpecId,
      String columnSpecId,
      String displayName)
      throws IOException, ExecutionException, InterruptedException {
    // Initialize client that will be used to send requests. This client only needs to be created
    // once, and can be reused for multiple requests. After completing all of your requests, call
    // the "close" method on the client to safely clean up any remaining background resources.
    try (AutoMlClient client = AutoMlClient.create()) {
      // A resource that represents Google Cloud Platform location.
      LocationName projectLocation = LocationName.of(projectId, "us-central1");

      // Get the complete path of the column.
      ColumnSpecName columnSpecName =
          ColumnSpecName.of(projectId, "us-central1", datasetId, tableSpecId, columnSpecId);

      // Build the get column spec.
      ColumnSpec targetColumnSpec =
          ColumnSpec.newBuilder().setName(columnSpecName.toString()).build();

      // Set model metadata.
      TablesModelMetadata metadata =
          TablesModelMetadata.newBuilder()
              .setTargetColumnSpec(targetColumnSpec)
              .setTrainBudgetMilliNodeHours(24000)
              .build();

      Model model =
          Model.newBuilder()
              .setDisplayName(displayName)
              .setDatasetId(datasetId)
              .setTablesModelMetadata(metadata)
              .build();

      // Create a model with the model metadata in the region.
      OperationFuture<Model, OperationMetadata> future =
          client.createModelAsync(projectLocation, model);
      // OperationFuture.get() will block until the model is created, which may take several hours.
      // You can use OperationFuture.getInitialFuture to get a future representing the initial
      // response to the request, which contains information while the operation is in progress.
      System.out.format("Training operation name: %s%n", future.getInitialFuture().get().getName());
      System.out.println("Training started...");
    }
  }
}

Node.js

Si vos ressources sont situées dans la région UE, vous devez définir explicitement le point de terminaison. En savoir plus

const automl = require('@google-cloud/automl');
const client = new automl.v1beta1.AutoMlClient();

/**
 * Demonstrates using the AutoML client to create a model.
 * TODO(developer): Uncomment the following lines before running the sample.
 */
// const projectId = '[PROJECT_ID]' e.g., "my-gcloud-project";
// const computeRegion = '[REGION_NAME]' e.g., "us-central1";
// const datasetId = '[DATASET_ID]' e.g., "TBL2246891593778855936";
// const tableId = '[TABLE_ID]' e.g., "1991013247762825216";
// const columnId = '[COLUMN_ID]' e.g., "773141392279994368";
// const modelName = '[MODEL_NAME]' e.g., "testModel";
// const trainBudget = '[TRAIN_BUDGET]' e.g., "1000",
// `Train budget in milli node hours`;

// A resource that represents Google Cloud Platform location.
const projectLocation = client.locationPath(projectId, computeRegion);

// Get the full path of the column.
const columnSpecId = client.columnSpecPath(
  projectId,
  computeRegion,
  datasetId,
  tableId,
  columnId
);

// Set target column to train the model.
const targetColumnSpec = {name: columnSpecId};

// Set tables model metadata.
const tablesModelMetadata = {
  targetColumnSpec: targetColumnSpec,
  trainBudgetMilliNodeHours: trainBudget,
};

// Set datasetId, model name and model metadata for the dataset.
const myModel = {
  datasetId: datasetId,
  displayName: modelName,
  tablesModelMetadata: tablesModelMetadata,
};

// Create a model with the model metadata in the region.
client
  .createModel({parent: projectLocation, model: myModel})
  .then(responses => {
    const initialApiResponse = responses[1];
    console.log(`Training operation name: ${initialApiResponse.name}`);
    console.log('Training started...');
  })
  .catch(err => {
    console.error(err);
  });

Python

La bibliothèque cliente AutoML Tables comprend des méthodes Python supplémentaires qui simplifient l'utilisation de l'API AutoML Tables. Ces méthodes référencent les ensembles de données et les modèles par nom et non par identifiant. L'ensemble de données et les noms de modèles doivent être uniques. Pour plus d'informations, consultez la documentation de référence du client.

Si vos ressources sont situées dans la région UE, vous devez définir explicitement le point de terminaison. En savoir plus

# TODO(developer): Uncomment and set the following variables
# project_id = 'PROJECT_ID_HERE'
# compute_region = 'COMPUTE_REGION_HERE'
# dataset_display_name = 'DATASET_DISPLAY_NAME_HERE'
# model_display_name = 'MODEL_DISPLAY_NAME_HERE'
# train_budget_milli_node_hours = 'TRAIN_BUDGET_MILLI_NODE_HOURS_HERE'
# include_column_spec_names = 'INCLUDE_COLUMN_SPEC_NAMES_HERE'
#    or None if unspecified
# exclude_column_spec_names = 'EXCLUDE_COLUMN_SPEC_NAMES_HERE'
#    or None if unspecified

from google.cloud import automl_v1beta1 as automl

client = automl.TablesClient(project=project_id, region=compute_region)

# Create a model with the model metadata in the region.
response = client.create_model(
    model_display_name,
    train_budget_milli_node_hours=train_budget_milli_node_hours,
    dataset_display_name=dataset_display_name,
    include_column_spec_names=include_column_spec_names,
    exclude_column_spec_names=exclude_column_spec_names,
)

print("Training model...")
print("Training operation name: {}".format(response.operation.name))
print("Training completed: {}".format(response.result()))

Examen du schéma

AutoML Tables déduit le type de données et le paramètre de valeur vide de chaque colonne en fonction du type de données d'origine (si importée de BigQuery) et des valeurs de la colonne. Il est conseillé de vérifier chaque colonne et de vous assurer que tout est correct.

Servez-vous de la liste suivante pour examiner votre schéma :

  • Les champs contenant du texte brut doivent être de type texte.

    Les champs de texte sont divisés en segments par l'analyseur lexical UnicodeScriptTokenizer, chaque segment étant utilisé pour l'entraînement du modèle. L'analyseur lexical "UnicodeScriptTokenizer" permet de segmenter le texte séparé par des espaces, de même que les signes de ponctuation dans le texte et les différentes langues.

  • Si la valeur d'une colonne fait partie d'un ensemble fini de valeurs, il s'agit probablement d'une valeur catégorielle, quel que soit le type de données utilisées dans le champ.

    Par exemple, les couleurs peuvent être représentées par des codes, tels que 1 = rouge, 2 = jaune, etc. Vous devez vous assurer que ce champ est désigné comme catégoriel.

    Cette recommandation ne s'applique pas si la colonne contient des chaînes de plusieurs mots. Dans ce cas, vous devez la définir comme colonne texte, même si sa cardinalité est faible. AutoML Tables segmente les colonnes texte, et peut aussi déduire un signal de prédiction à partir de segments individuels ou de leur ordre de classement.

  • Si un champ est marqué comme ne pouvant être vide, cela signifie qu'il ne contenait aucune valeur nulle dans l'ensemble de données d'entraînement. Assurez-vous que ce sera aussi le cas pour vos données de prédiction. Si une colonne est marquée comme ne pouvant être vide et qu'aucune valeur n'est fournie pour cette colonne au moment de la prédiction, une erreur de prédiction sera renvoyée pour cette ligne.

Analyser vos données d'entraînement

  • Si une colonne comporte un pourcentage élevé de valeurs manquantes, assurez-vous que ceci est prévu et n'est pas dû à un problème de collecte de données.

  • Assurez-vous que le nombre de valeurs incorrectes est relativement faible ou nul.

    Les lignes contenant une ou plusieurs valeurs incorrectes sont automatiquement exclues de l'entraînement du modèle.

  • Si la quantité de valeurs distinctes d'une colonne catégorielle se rapproche du nombre de lignes (par exemple, plus de 90 %), cette colonne ne fournira probablement pas de signal d'entraînement. Elle doit donc être exclue de l'entraînement. Les colonnes d'ID doivent toujours être exclues.

  • Si la corrélation avec la cible d'une valeur de colonne est élevée, assurez-vous que ceci est prévu et n'indique pas une fuite cible.

    Si la colonne est disponible lorsque vous demandez des prédictions, il s'agit probablement d'une caractéristique à fort pouvoir explicatif et elle peut être incluse. Cependant, il arrive que des caractéristiques à forte corrélation soient dérivées de la cible ou collectées après coup. Ces caractéristiques doivent être exclues de l'entraînement, car elles ne sont pas disponibles au moment de la prédiction. Par conséquent, le modèle est inutilisable en production.

    La corrélation est calculée pour les colonnes catégorielles, numériques et d'horodatage au moyen du V de Cramér. Pour les colonnes numériques, elle est calculée à l'aide du nombre de buckets généré à partir des quantiles.

À propos des objectifs d'optimisation des modèles

L'objectif d'optimisation a une incidence sur l'entraînement de votre modèle et, par conséquent, sur ses performances en production. Le tableau ci-dessous fournit quelques détails sur les types de problèmes auxquels chaque objectif est le mieux adapté :

Objectif d'optimisation Type de problème Valeur de l'API Utilisez cet objectif si vous voulez...
AUC ROC Classification MAXIMIZE_AU_ROC Distinguer les classes. Valeur par défaut pour la classification binaire.
Perte logistique Classification MINIMIZE_LOG_LOSS Maintenir les probabilités de prédiction aussi précises que possible. Valeur par défaut pour la classification à classes multiples.
PR AUC Classification MAXIMIZE_AU_PRC Optimiser les résultats des prédictions pour la classe minoritaire.
Précision pour la valeur de rappel Classification MAXIMIZE_PRECISION_AT_RECALL Optimiser la précision à une valeur de rappel spécifique.
Rappel pour la valeur de précision Classification MAXIMIZE_RECALL_AT_PRECISION Optimiser le rappel à une valeur de précision spécifique.
RMSE Régression MINIMIZE_RMSE Capturer les valeurs les plus extrêmes avec précision.
EAM Régression MINIMIZE_MAE Afficher les valeurs extrêmes comme des anomalies ayant moins d'incidence sur le modèle.
RMSLE Régression MINIMIZE_RMSLE Pénaliser l'erreur sur la taille relative plutôt que sur la valeur absolue. Particulièrement utile lorsque les valeurs prédites et réelles peuvent être très élevées.

Étape suivante