Préparer les données d'entraînement

Cette page explique comment préparer vos données tabulaires pour entraîner des modèles de prévision.

Voici les sujets abordés :

  1. Exigences concernant la structure des données
  2. Préparer votre source d'importation
  3. Ajouter des pondérations aux données d'entraînement

Par défaut, Vertex AI utilise un algorithme de répartition chronologique pour séparer vos données de prévision en trois divisions. Vous pouvez également utiliser une répartition manuelle, mais cela nécessite de préparer une colonne de répartition des données. En savoir plus sur les répartitions de données.

Exigences concernant la structure des données

Pour les modèles de prévision, vos données d'entraînement doivent respecter les exigences de base suivantes :

Type d'exigence Exigence
Taille L'ensemble de données ne doit pas dépasser 100 Go.
nombre de colonnes L'ensemble de données doit contenir au moins 3 et pas plus de 100 colonnes. Chacune des observations de l'ensemble de données doit comporter une cible et une heure, qui constituent toutes deux des caractéristiques. En outre, chaque observation doit avoir un ID de série temporelle, qui identifie la série temporelle dont fait partie l'observation. Idéalement, vos données d'entraînement doivent comporter beaucoup plus que trois colonnes. Le nombre maximal de colonnes inclut les colonnes de caractéristiques et les colonnes hors caractéristiques.
Target column Vous devez spécifier une colonne cible. La colonne cible permet à Vertex AI d'associer les données d'entraînement au résultat souhaité. Il ne doit pas contenir de valeurs nulles et doit être numérique.
Colonne Heure Vous devez spécifier une colonne heure et chaque ligne doit contenir une valeur. La colonne Heure indique l'heure à laquelle une observation donnée a été effectuée.
Colonne d'identifiants de série temporelle Vous devez spécifier une colonne d'identifiant de série temporelle et elle doit comporter une valeur pour chaque ligne. La prévision des données d'entraînement comprend généralement plusieurs séries temporelles. L'identifiant indique à Vertex AI dans quelle série temporelle se trouvent les données d'entraînement faisant l'objet d'une observation. Toutes les lignes d'une série temporelle donnée ont la même valeur dans la colonne d'identifiant de la série temporelle. Il est courant d'utiliser l'ID d'un produit, l'identifiant d'un magasin ou une région comme identifiant de série temporelle. Il est possible d'entraîner un modèle de prévision sur une seule série temporelle, avec une valeur identique pour toutes les lignes de la colonne d'identifiant de la série temporelle. Toutefois, Vertex AI est une solution plus adaptée pour les données d'entraînement contenant au moins deux séries temporelles. Pour des résultats optimaux, utilisez au moins 10 séries temporelles pour chaque colonne utilisée pour entraîner le modèle.
Format de nom de la colonne Le nom de la colonne peut inclure n'importe quel caractère alphanumérique ou un trait de soulignement (_). Il ne peut pas commencer par un trait de soulignement.
nombre de lignes L'ensemble de données doit contenir au moins 1 000 et pas plus de 100 000 000 lignes. En fonction du nombre de caractéristiques de l'ensemble de données, ce nombre minimal peut être insuffisant pour entraîner un modèle véritablement performant. En savoir plus
Format des données Utilisez un format de données étroite (parfois appelé long). Dans un format étroit, chaque ligne représente l'élément spécifié par l'identifiant de série temporelle pour un moment spécifique, ainsi que toutes les données de cet élément à ce moment précis. Découvrez comment choisir le format des données.
Intervalle entre les lignes L'intervalle entre les lignes d'entraînement doit être cohérent. Il s'agit de la précision de vos données. Elle a une incidence sur l'entraînement du modèle et sur la fréquence des résultats de la prédiction. Apprenez à choisir le niveau de précision des données.
Longueur des séries temporelles La durée d'une série temporelle ne doit pas dépasser 3 000 étapes.

Préparer votre source d'importation

Vous pouvez fournir des données d'entraînement de modèle à Vertex AI dans deux formats :

  • Tables BigQuery
  • CSV (Comma-Separated Values)

La source que vous utilisez dépend de la manière dont vos données sont actuellement stockées, ainsi que de leur taille et de leur complexité. Si votre ensemble de données est peu important et que vous n'avez pas besoin de types de données plus complexes, un fichier CSV est la solution la plus simple. Pour les ensembles de données plus volumineux comprenant des tableaux et des structures, vous devez utiliser BigQuery.

BigQuery

Votre table ou vue BigQuery doit être conforme aux exigences de localisation BigQuery.

Si votre table ou votre vue BigQuery se trouve dans un projet différent de celui dans lequel vous créez votre ensemble de données Vertex AI, ou si votre table ou votre vue BigQuery repose sur une source de données externe, vous devrez peut-être ajouter un ou plusieurs rôles à l'agent de service Vertex AI. Consultez la section Exigences d'ajout de rôles pour BigQuery.

Vous n'avez pas besoin de spécifier un schéma pour votre table BigQuery. Vertex AI déduit automatiquement le schéma de la table lorsque vous importez les données.

Votre URI BigQuery (spécifiant l'emplacement de vos données d'entraînement) doit respecter le format suivant :

bq://<project_id>.<dataset_id>.<table_id>

L'URI ne peut pas contenir d'autres caractères spéciaux.

Pour en savoir plus sur les types de données BigQuery et leur correspondance dans Vertex AI, consultez la page Tables BigQuery. Pour plus d'informations sur l'utilisation des sources de données externes BigQuery, consultez la sectionPrésentation des sources de données externes.

CSV

Les fichiers CSV peuvent se trouver dans Cloud Storage ou sur votre ordinateur local. Ils doivent respecter les exigences suivantes :

  • La première ligne du premier fichier doit être un en-tête contenant le nom des colonnes. Si la première ligne d'un fichier suivant est identique à l'en-tête, elle est également traitée comme un en-tête. Sinon, elle est traitée comme des données.
  • Les noms de colonne peuvent inclure n’importe quel caractère alphanumérique ou un trait de soulignement (_). Le nom de la colonne ne peut pas commencer par un trait de soulignement.
  • Chaque fichier ne doit pas dépasser 10 Go.

    Vous pouvez inclure plusieurs fichiers, jusqu'à une taille maximale de 100 Go.

  • Le délimiteur doit être une virgule (",").

Vous n'avez pas besoin de spécifier un schéma pour vos données CSV. Vertex AI déduit automatiquement le schéma de la table lorsque vous importez les données, et utilise la ligne d'en-tête pour les noms de colonne.

Pour plus d'informations sur le format de fichier CSV et les types de données, consultez la page Fichiers CSV.

Si vous importez vos données à partir de Cloud Storage, elles sont transférées dans un bucket qui doit répondre aux exigences suivantes :

Si vous importez vos données depuis votre ordinateur local, vous devez disposer d'un bucket Cloud Storage répondant aux exigences suivantes :

Ajouter des pondérations aux données d'entraînement

Par défaut, Vertex AI pondère chaque ligne des données d'entraînement de manière égale. À des fins d'entraînement, aucune ligne n'est considérée comme plus importante qu'une autre.

Il peut arriver que vous souhaitiez accentuer l'importance de certaines lignes pour l'entraînement. Par exemple, si vous exploitez des données de dépenses, vous pourriez vouloir renforcer l'incidence sur le modèle des données issues des utilisateurs les plus dépensiers. Si vous voulez avant tout éviter de manquer un résultat particulier, vous pouvez augmenter la pondération des lignes correspondantes.

Pour appliquer aux lignes une pondération relative, vous ajoutez une colonne de pondération à votre ensemble de données. La colonne de pondération doit être numérique. La valeur de pondération peut être comprise entre 0 et 10 000. Des valeurs plus élevées indiquent que la ligne est plus importante pour l'entraînement du modèle. Si elle est égale à 0, la ligne est ignorée. Si vous incluez une colonne de pondération, elle doit contenir une valeur pour chaque ligne.

Plus tard, lorsque vous entraînerez votre modèle, vous spécifierez cette colonne en tant que colonne Weight.

Les schémas de pondération personnalisés ne sont utilisés que pour l'entraînement du modèle. ils n'affectent pas l'ensemble de test utilisé pour l'évaluation du modèle.

Étape suivante