Guide du débutant AutoML Tables

Présentation

Imaginez que vous travaillez dans le service marketing d'un détaillant en ligne. Avec votre équipe, vous créez un programme de diffusion d'e-mails personnalisés basé sur des personnages de clients. Vous avez créé les personnages et les e-mails marketing sont prêts pour diffusion. Vous devez maintenant créer un système qui classe les clients par personnage selon les préférences de vente et le comportement d'achat, même pour les nouveaux clients. Vous souhaitez également prédire leurs habitudes d'achat afin de déterminer le meilleur moment pour envoyer les e-mails et optimiser l'engagement.

Exemple d'images clients en cours de classement par catégorie

Grâce aux ventes en ligne, vous disposez de données sur vos clients et les achats qu'ils ont effectués. Mais qu'en est-il des nouveaux clients ? Les approches classiques peuvent calculer ces données pour les clients existants ayant de longs historiques d'achats, mais ne sont pas adaptées aux clients dont l'historique est récent. Et si vous pouviez créer un système permettant de prédire ces valeurs et de proposer plus rapidement aux clients des programmes marketing personnalisés ?

Les systèmes de machine learning et AutoML Tables constituent des outils adaptés pour répondre à ces questions. Ce guide explique comment fonctionne AutoML Tables et le type de problèmes qu'il permet de résoudre.

Fonctionnement d'AutoML Tables

image d'un réseau de neurones simple AutoML Tables est un service d'apprentissage supervisé. Cela signifie que vous entraînez un modèle de machine learning à partir d'exemples de données. AutoML Tables utilise des données tabulaires (structurées) pour entraîner un modèle de machine learning à réaliser des prédictions sur de nouvelles données. Une colonne de votre ensemble de données, dénommée cible, indique ce que le modèle va apprendre à prédire. Parmi les autres colonnes de données, certaines contiennent des entrées (dénommées caractéristiques) à partir desquelles le modèle va identifier des tendances pour son apprentissage. Les mêmes caractéristiques d'entrée peuvent servir à créer plusieurs types de modèles en modifiant simplement la cible. Dans l'exemple de marketing par e-mail, vous pouvez ainsi créer deux modèles avec les mêmes caractéristiques d'entrée : un modèle pour prédire le personnage d'un client (cible catégorielle), l'autre pour ses achats mensuels (cible numérique).

Données tabulaires

Workflow AutoML Tables

AutoML Tables repose sur un workflow de machine learning standard :

  1. Collecte de données : vous déterminez les données dont vous avez besoin pour entraîner et tester votre modèle en fonction du résultat que vous souhaitez obtenir.
  2. Préparation des données : vous vérifiez que vos données sont correctement formatées avant et après l'importation.
  3. Entraînement : vous définissez les paramètres et construisez votre modèle.
  4. Évaluation : vous examinez les métriques du modèle.
  5. Test : vous évaluez votre modèle sur des données de test.
  6. Déploiement et prédiction : vous rendez votre modèle disponible à l'utilisation.

Avant de commencer à collecter des données, vous devez toutefois réfléchir au problème que vous essayez de résoudre. Cela vous permettra de déterminer vos besoins en termes de données.

Considérer votre cas d'utilisation

image de point de départ et d'arrivée

Commencez par réfléchir à votre problème : quel résultat souhaitez-vous obtenir ? À quel type de données la colonne cible correspond-elle ? À quelle quantité de données avez-vous accès ?

Selon vos réponses, AutoML Tables crée le modèle adapté à votre cas d'utilisation :

  • Un modèle de classification binaire prédit un résultat binaire (l'une des deux classes). Utilisez cette option pour les questions de type "oui" ou "non", par exemple pour prédire si un client achètera ou non un abonnement. Toutes choses égales par ailleurs, un problème de classification binaire nécessite moins de données que les autres types de modèle.

  • Un modèle de classification à classes multiples prédit une classe à partir de trois classes distinctes ou plus. Utilisez cette option pour classer différents éléments. Dans l'exemple de vente au détail, vous souhaitez créer un modèle de classification à classes multiples pour segmenter les clients en différents personnages.

  • Un modèle de régression prédit une valeur continue. Dans l'exemple de vente au détail, vous souhaitez également créer un modèle de régression pour prédire les achats des clients au cours du prochain mois.

AutoML Tables définit automatiquement votre problème et le modèle à créer en fonction du type de données de la colonne cible. Ainsi, si votre colonne cible contient des données numériques, AutoML Tables génère un modèle de régression. Si votre colonne cible est constituée de données catégorielles, AutoML Tables détecte le nombre de classes et détermine le type de modèle à créer, binaire ou à classes multiples.

Un mot sur l'équité

L'équité est l'un des principes fondamentaux des pratiques de Google en matière d'IA responsable. L'objectif de promouvoir l'équité consiste à comprendre et prévenir les traitements injustes ou préjudiciables envers les personnes, fondés sur la race, le revenu, l'orientation sexuelle, la religion, le sexe, ainsi que toute autre caractéristique historiquement associée à la discrimination et à la marginalisation. Plus précisément, il s'agit de savoir quand et où ces traitements se manifestent dans les systèmes algorithmiques ou les processus décisionnels basés sur des algorithmes. En lisant ce guide, vous trouverez des remarques intitulées "Pensez équité" qui expliquent précisément comment créer un modèle de machine learning plus équitable. En savoir plus

Collecter les données

graphique de points de données Une fois que vous avez établi votre cas d'utilisation, vous devez collecter des données pour entraîner votre modèle. La collecte et la préparation des données sont des étapes essentielles dans la création d'un modèle de machine learning. Les données dont vous disposez permettront de déterminer le type de problèmes que vous pouvez résoudre. De combien de données disposez-vous ? Sont-elles pertinentes pour les questions auxquelles vous tentez de répondre ? Lors de la collecte de données, gardez à l'esprit les considérations suivantes.

Sélectionner les caractéristiques pertinentes

Les caractéristiques sont des attributs d'entrée utilisés pour l'entraînement d'un modèle. Elles lui permettent d'identifier des tendances pour réaliser des prédictions. Leur pertinence par rapport à votre problème est donc importante. Par exemple, pour créer un modèle permettant de prédire si une transaction par carte de crédit est frauduleuse ou non, vous devez créer un ensemble de données contenant les détails de la transaction : acheteur, vendeur, montant, date et heure, et articles achetés. D'autres informations peuvent être utiles, telles que les données historiques de l'acheteur et du vendeur, et la fréquence à laquelle l'article acheté a été impliqué dans une fraude. Existe-t-il d'autres caractéristiques pouvant s'avérer pertinentes ?

Considérons le cas d'utilisation de marketing par e-mail du détaillant présenté en introduction. Voici quelques colonnes de caractéristiques dont vous pourriez avoir besoin :

  • Liste des articles achetés (y compris marques, catégories, prix, remises)
  • Quantité d'articles achetés (jour précédent, semaine, mois, année)
  • Somme d'argent dépensée (jour précédent, semaine, mois, année)
  • Profil démographique connu de l'acheteur

Inclure suffisamment de données

image d'entraînement de modèle En général, plus vous avez d’exemples d'entraînement, meilleur sera le résultat. La quantité d'exemples de données nécessaires varie également en fonction de la complexité du problème que vous tentez de résoudre. Vous n'aurez pas besoin d'autant de données pour obtenir un modèle de classification binaire précis comparé à un modèle à classes multiples, car il est moins compliqué de prédire à partir de deux classes qu'à partir de plusieurs.

Si la formule parfaite n'existe pas, le nombre minimal conseillé de lignes d'exemples de données est le suivant :

  • Problème de classification : nombre de caractéristiques x 50
  • Problème de régression : nombre de caractéristiques x 200

Capturer les nuances

Votre ensemble de données doit capturer la diversité de votre espace-problème. Plus un modèle traite des exemples diversifiés au cours de son entraînement, plus il peut facilement se généraliser à des exemples nouveaux ou moins courants. Imaginez que votre modèle de détaillant n'ait été entraîné que sur les données d'achat de l'hiver. Serait-il capable de prédire correctement les préférences de vêtements ou les comportements d'achat de l'été ?

Préparer vos données

Une fois que vous avez identifié les données disponibles, vous devez vérifier qu'elles sont prêtes pour l'entraînement. Si vos données sont biaisées ou comportent des valeurs manquantes ou erronées, ces anomalies se répercuteront sur l'entraînement du modèle. Considérez ce qui suit avant de commencer à entraîner votre modèle. En savoir plus

Prévenir les fuites de données et le décalage entraînement/diffusion

Une fuite de données se produit lorsque vous utilisez des caractéristiques d'entrée lors de l'entraînement qui "divulguent" des informations sur la cible que vous essayez de prédire, lesquelles ne sont pas disponibles lorsque le modèle est réellement diffusé. Cela peut être détecté lorsqu'une caractéristique fortement corrélée à la colonne cible est incluse parmi les caractéristiques d'entrée. Par exemple, si vous créez un modèle pour prédire si un client souscrira un abonnement le mois prochain et que l'une des caractéristiques d'entrée est un futur paiement d'abonnement de ce client. Les performances du modèle peuvent être très élevées lors des tests, mais de faible niveau lors du déploiement en production, car les informations de paiement d'abonnement futur ne sont pas disponibles au moment de la diffusion.

Le décalage entraînement/diffusion survient lorsque les caractéristiques d'entrée utilisées pendant l'entraînement diffèrent de celles fournies au modèle au moment de la diffusion, ce qui entraîne une baisse de qualité du modèle en production. Par exemple, créer un modèle de prédiction des températures par heure, mais l'entraîner avec des données ne contenant que des températures par semaine. Autre exemple : fournir les notes d'un élève dans les données d'entraînement pour prédire le décrochage scolaire, mais ne pas les inclure au moment de la diffusion.

Il est important de comprendre vos données d’entraînement pour prévenir les fuites de données et éviter tout décalage entraînement/diffusion :

  • Avant d'utiliser des données, veillez à bien comprendre leur signification pour déterminer s'il convient de les utiliser comme caractéristiques.
  • Vérifiez la corrélation dans l'onglet "Entraînement". Les corrélations élevées doivent être signalées pour examen.
  • Décalage entraînement/diffusion : veillez à ne fournir au modèle que des caractéristiques d'entrée disponibles dans un format identique au moment de la diffusion.

Nettoyer les données manquantes, incomplètes et incohérentes

Il est fréquent que des valeurs manquantes et inexactes figurent dans les exemples de données. Prenez le temps d'examiner et, si possible, d'améliorer la qualité de vos données avant de les utiliser pour l'entraînement. Plus il y a de valeurs manquantes, moins les données seront utiles pour l'entraînement d'un modèle de machine learning.

  • Vérifiez les valeurs manquantes dans vos données et corrigez-les si possible. Sinon, vous pouvez laisser la valeur vide si la colonne est définie comme pouvant être vide. AutoML Tables peut gérer les valeurs manquantes, mais vous avez plus de chances d'obtenir des résultats optimaux si toutes les valeurs sont disponibles.

  • Nettoyez vos données en corrigeant ou en supprimant les erreurs ou le bruit. Assurez leur cohérence : vérifiez l'orthographe, les abréviations et le formatage.

Analyser les données après l'importation

AutoML Tables fournit un aperçu de votre ensemble de données après son importation. Examinez l'ensemble de données importé pour vérifier que chaque colonne comporte bien le type de variable correct. AutoML Tables détecte automatiquement le type de variable en fonction des valeurs des colonnes, mais il est préférable de les examiner une par une. Vous devez également vérifier le paramètre de valeur vide de chaque colonne, qui détermine si la colonne peut contenir des valeurs manquantes ou NULL.

Entraîner le modèle

Une fois votre ensemble de données importé, l'étape suivante consiste à entraîner un modèle. AutoML Tables génère un modèle de machine learning fiable avec les valeurs d’entraînement par défaut, mais vous pouvez ajuster certains paramètres en fonction de votre cas d'utilisation.

Sélectionnez autant de colonnes de caractéristiques que possible pour l'entraînement, mais examinez chacune d'entre elles afin d'être certain de leur pertinence pour l'entraînement. Tenez compte des éléments suivants dans votre sélection :

  • Ne sélectionnez pas de colonnes de caractéristiques qui produiront du bruit, comme les colonnes d'identifiants attribuées de manière aléatoire contenant une valeur unique pour chaque ligne.
  • Assurez-vous de bien comprendre chaque colonne de caractéristique et les valeurs correspondantes.
  • Si vous créez plusieurs modèles à partir d'un ensemble de données, supprimez les colonnes cibles qui ne font pas partie du problème de prédiction en cours.
  • Rappelez-vous les principes d'équité : entraînez-vous le modèle avec une caractéristique qui pourrait conduire à une prise de décision biaisée ou injuste pour des groupes marginalisés ?

Comment AutoML Tables utilise l'ensemble de données

Votre ensemble de données sera divisé en trois : ensemble d'entraînement, ensemble de validation et ensemble de test. Par défaut, AutoML Tables utilise 80 % des données pour l'entraînement, 10 % pour la validation et 10 % pour les tests, mais vous pouvez modifier la répartition manuellement si nécessaire.

représentation graphique des ensembles de données d'entraînement, de test et de validation

Ensemble d'entraînement

image de jumelles La grande majorité de vos données doit figurer dans l'ensemble d'entraînement. Il s'agit des données auxquelles votre modèle accède pendant l'entraînement : elles sont utilisées pour apprendre les paramètres du modèle, à savoir la pondération des connexions entre les nœuds du réseau de neurones.

Ensemble de validation

image de plan L'ensemble de validation, parfois aussi appelé ensemble "dev", est également utilisé lors du processus d'entraînement. Une fois que le framework d'apprentissage du modèle a incorporé les données d'entraînement à chaque itération du processus, il utilise les performances du modèle sur l'ensemble de validation pour ajuster ses hyperparamètres, qui sont des variables spécifiant sa structure. Si vous essayez d'utiliser l'ensemble d'entraînement pour régler les hyperparamètres, il est fort probable que le modèle finisse par trop se focaliser sur les données d'entraînement. Vous aurez alors du mal à généraliser le modèle à des exemples légèrement différents. L'utilisation d'un ensemble de données relativement nouveau pour affiner la structure du modèle permet une meilleure généralisation du modèle à d'autres données.

Ensemble de test

image de bécher L'ensemble de test n'est pas du tout impliqué dans le processus d'entraînement. Une fois celui-ci terminé, AutoML Tables exploite l'ensemble de test qui représente un défi complètement nouveau pour le modèle. Ses performances sur l'ensemble de test sont supposées vous fournir une idée plutôt fidèle de son comportement sur des données réelles.

Évaluer le modèle

image de loupe Après avoir entraîné le modèle, vous recevez un résumé de ses performances. Les métriques d'évaluation du modèle sont basées sur ses performances par rapport à une tranche de l'ensemble de données (ensemble de données de test). Il existe plusieurs métriques et concepts clés à prendre en compte pour déterminer si votre modèle est prêt à traiter des données réelles.

Métriques de classification

Seuil de score

Examinons un modèle de machine learning qui prédit si un client achètera un blouson l’année prochaine. Quel doit être le degré de certitude du modèle avant de prédire qu'un client donné achètera un blouson ? Dans les modèles de classification, un score de confiance est attribué à chaque prédiction, soit une évaluation numérique de la certitude du modèle quant à l'exactitude de la classe prédite. Le seuil de score est la valeur numérique qui détermine le moment où un score donné est converti en une décision positive ou négative, c'est-à-dire la valeur à laquelle le modèle indique "oui, ce score de confiance est suffisamment élevé pour conclure que ce client achètera un blouson au cours de la prochaine année".

image des blousons à seuil haut et seuil bas

Si votre seuil de score est bas, votre modèle risque de générer des erreurs de classification. C'est pourquoi ce seuil devrait être déterminé en fonction d'un cas d'utilisation donné.

Résultats de prédiction

Après l'application du seuil de score, les prédictions effectuées par votre modèle entrent dans l'une des quatre catégories ci-dessous. Pour comprendre ces catégories, imaginons à nouveau un modèle de classification binaire pour un blouson. Dans cet exemple, la classe positive (ce que le modèle tente de prédire) est que le client achètera un blouson l'année prochaine.

  • Vrai positif : le modèle prédit correctement la classe positive. Le modèle a correctement prédit qu'un client allait acheter un blouson.
  • Faux positif : le modèle prédit incorrectement la classe positive. Le modèle a prédit qu'un client allait acheter un blouson, ce qu'il n'a pas fait.
  • Vrai négatif : le modèle prédit correctement la classe négative. Le modèle a correctement prédit qu'un client n'allait pas acheter de blouson.
  • Faux négatif : le modèle prédit incorrectement une classe négative. Le modèle a prédit qu'un client n'allait pas acheter de blouson, or c'est ce qu'il a fait.

image avec description du niveau de confiance pour chacune des 4 catégories

Précision et rappel

Les métriques de précision et de rappel permettent d'évaluer la capacité de votre modèle à capturer des informations et à en laisser certaines de côté. En savoir plus sur la précision et le rappel

  • La précision est la fraction des prédictions positives qui étaient correctes. Quelle était la fraction d'achats réels de toutes les prédictions d'achat d'un client ?
  • Le rappel est la fraction des lignes comportant cette étiquette que le modèle a correctement prédites. Quelle était la fraction de tous les achats clients qui auraient pu être identifiés ?

Selon votre cas d'utilisation, vous devrez peut-être optimiser la précision ou le rappel.

Autres métriques de classification
  • AUC PR : aire sous la courbe de précision/rappel (PR). Cette valeur est comprise entre zéro et un. Plus elle est élevée, plus le modèle est de bonne qualité.

  • AUC ROC : aire sous la courbe ROC (Receiver Operating Characteristic). Cette valeur est comprise entre zéro et un. Plus elle est élevée, plus le modèle est de bonne qualité.

  • Justesse : fraction des prédictions de classification produites par le modèle qui étaient correctes.

  • Perte logistique : entropie croisée entre les prédictions du modèle et les valeurs cibles. Cette valeur varie de zéro à l'infini. Plus elle est faible, plus le modèle est de bonne qualité.

  • Score F1 : moyenne harmonique de la précision et du rappel. F1 est une métrique utile si vous souhaitez équilibrer précision et rappel, et que les classes sont réparties de façon inégale.

Métriques de régression

Une fois votre modèle créé, AutoML Tables fournit une variété de métriques de régression standards que vous pouvez examiner. Il n'existe pas de réponse parfaite quant à la façon d'évaluer un modèle. Les métriques d'évaluation doivent être considérées dans le contexte de votre type de problème et de ce que vous souhaitez obtenir avec votre modèle. Voici un aperçu de certaines métriques qui seront à votre disposition.

Erreur absolue moyenne (EAM)

L'EAM correspond à l'écart absolu moyen entre les valeurs cibles et les valeurs prédites. Cette métrique mesure la magnitude moyenne des erreurs dans un ensemble de prédictions, soit la différence entre une valeur cible et une valeur prédite. En outre, comme elle utilise des valeurs absolues, l'EAM ne prend pas en compte l'orientation de la relation et n'indique ni sous-performance, ni surperformance. Lors de l'évaluation de l'EAM, une valeur inférieure indique un modèle de qualité supérieure (0 représentant un prédicteur parfait).

Racine carrée de l'erreur quadratique moyenne (RMSE)

La RMSE correspond à la racine carrée de l'écart moyen au carré entre la valeur cible et la valeur prédite. La RMSE est plus sensible aux anomalies que l'EAM. Par conséquent, si vous craignez des erreurs importantes, cette métrique est sans doute plus utile à évaluer. Comme pour l'EAM, une valeur inférieure indique un modèle de qualité supérieure (0 représentant un prédicteur parfait).

Erreur logarithmique quadratique moyenne (RMSLE)

La RMSLE est équivalente à la RMSE sur une échelle logarithmique. La RMSLE est plus sensible aux erreurs relatives qu'aux erreurs absolues et se focalise davantage sur la sous-performance que sur la surperformance.

Tester votre modèle

L'évaluation des métriques de votre modèle consiste principalement à déterminer s'il est prêt à être déployé, mais vous pouvez également le tester avec de nouvelles données. Importez d'autres données pour vérifier si les prédictions du modèle correspondent à vos attentes. En fonction des métriques d'évaluation ou des tests avec de nouvelles données, vous devrez peut-être continuer à améliorer les performances du modèle. En savoir plus sur le dépannage de votre modèle

Déployer votre modèle et réaliser des prédictions

image d'ampoule Lorsque vous êtes satisfait des performances de votre modèle, il est temps de l'utiliser dans la réalité. Quel que soit votre cas d'utilisation, qu'il s'agisse de l'appliquer en production ou de traiter une requête de prédiction unique, vous pouvez exploiter votre modèle de différentes manières.

Prédiction par lot

La prédiction par lot est utile pour effectuer plusieurs requêtes de prédiction à la fois. La prédiction par lot est asynchrone, c'est-à-dire que le modèle attend d'avoir traité toutes les requêtes de prédiction avant de renvoyer un fichier CSV ou une table BiqQuery contenant les valeurs de prédiction.

Prédiction en ligne

Déployez votre modèle pour le rendre disponible aux requêtes de prédiction à l'aide d'une API REST. Les prédictions en ligne sont synchrones (en temps réel), ce qui signifie qu'elles sont renvoyées rapidement, mais le système n'accepte qu'une seule requête de prédiction par appel de l'API. Les prédictions en ligne sont utiles si votre modèle est intégré à une application et que certaines parties de votre système dépendent d'une résolution rapide des prédictions.

Pour éviter des frais inutiles, pensez à annuler le déploiement de votre modèle lorsqu'il n'est pas utilisé.