Points de contrôle
Create a new dataset
/ 20
Create a model and specify model options
/ 20
Evaluate classification model performance
/ 15
Improve model performance with Feature Engineering(Create second model)
/ 15
Improve model performance with Feature Engineering(Better predictive power)
/ 15
Predict which new visitors will come back and purchase
/ 15
Prédire les achats des visiteurs avec un modèle de classification dans BigQuery ML
- GSP229
- Aperçu
- Préparation
- Tâche 1 : Explorer les données d'e-commerce
- Tâche 2 : Identifier un objectif
- Tâche 3 : Sélectionner des caractéristiques et créer l'ensemble de données d'entraînement
- Tâche 4 : Créer un ensemble de données BigQuery pour y stocker vos modèles
- Tâche 5 : Sélectionner un type de modèle BigQuery ML et définir les options correspondantes
- Tâche 6 : Évaluer les performances du modèle de classification
- Tâche 7 : Améliorer les performances du modèle par ingénierie des caractéristiques
- Tâche 8 : Prédire quels nouveaux visiteurs reviendront effectuer un achat
- Tâche 9 : Analyser les résultats et informations complémentaires
- Tâche 10 : Tester vos connaissances
- Félicitations !
GSP229
Aperçu
BigQuery est la base de données d'analyse NoOps, économique et entièrement gérée de Google. Avec BigQuery, vous pouvez interroger plusieurs téraoctets de données sans avoir à gérer d'infrastructure ni faire appel à un administrateur de base de données. Basé sur le langage SQL et le modèle de paiement à l'usage, BigQuery vous permet de vous concentrer sur l'analyse des données pour en dégager des insights pertinents.
BigQuery ML est une fonctionnalité de BigQuery qui permet aux analystes de données de créer, d'entraîner et d'évaluer des modèles de machine learning en vue de prédire des résultats, et ce avec très peu de code.
Dans cet atelier, vous allez utiliser un ensemble de données d'e-commerce spécifique comportant des millions d'enregistrements Google Analytics pour le Google Merchandise Store, chargé dans BigQuery. Avec ces données, vous allez créer dans BigQuery ML un modèle de classification (régression logistique) qui prédit les habitudes d'achat des clients.
Points abordés
Dans cet atelier, vous allez apprendre à effectuer les tâches suivantes :
- Utiliser BigQuery pour rechercher des ensembles de données publics
- Interroger et explorer l'ensemble de données d'e-commerce
- Créer un ensemble de données d'entraînement et d'évaluation pour la prédiction par lot
- Créer un modèle de classification (régression logistique) dans BigQuery ML
- Évaluer et améliorer les performances de votre modèle de machine learning
- Prédire et classer la probabilité qu'un visiteur effectue un achat
Préparation
Avant de cliquer sur le bouton "Démarrer l'atelier"
Lisez ces instructions. Les ateliers sont minutés, et vous ne pouvez pas les mettre en pause. Le minuteur, qui démarre lorsque vous cliquez sur Démarrer l'atelier, indique combien de temps les ressources Google Cloud resteront accessibles.
Cet atelier pratique vous permet de suivre vous-même les activités dans un véritable environnement cloud, et non dans un environnement de simulation ou de démonstration. Nous vous fournissons des identifiants temporaires pour vous connecter à Google Cloud le temps de l'atelier.
Pour réaliser cet atelier :
- vous devez avoir accès à un navigateur Internet standard (nous vous recommandons d'utiliser Chrome) ;
- vous disposez d'un temps limité ; une fois l'atelier commencé, vous ne pouvez pas le mettre en pause.
Démarrer l'atelier et se connecter à la console Google Cloud
-
Cliquez sur le bouton Démarrer l'atelier. Si l'atelier est payant, un pop-up s'affiche pour vous permettre de sélectionner un mode de paiement. Sur la gauche, vous trouverez le panneau Détails concernant l'atelier, qui contient les éléments suivants :
- Le bouton Ouvrir la console Google Cloud
- Le temps restant
- Les identifiants temporaires que vous devez utiliser pour cet atelier
- Des informations complémentaires vous permettant d'effectuer l'atelier
-
Cliquez sur Ouvrir la console Google Cloud (ou effectuez un clic droit et sélectionnez Ouvrir le lien dans la fenêtre de navigation privée si vous utilisez le navigateur Chrome).
L'atelier lance les ressources, puis ouvre la page Se connecter dans un nouvel onglet.
Conseil : Réorganisez les onglets dans des fenêtres distinctes, placées côte à côte.
Remarque : Si la boîte de dialogue Sélectionner un compte s'affiche, cliquez sur Utiliser un autre compte. -
Si nécessaire, copiez le nom d'utilisateur ci-dessous et collez-le dans la boîte de dialogue Se connecter.
{{{user_0.username | "Username"}}} Vous trouverez également le nom d'utilisateur dans le panneau Détails concernant l'atelier.
-
Cliquez sur Suivant.
-
Copiez le mot de passe ci-dessous et collez-le dans la boîte de dialogue Bienvenue.
{{{user_0.password | "Password"}}} Vous trouverez également le mot de passe dans le panneau Détails concernant l'atelier.
-
Cliquez sur Suivant.
Important : Vous devez utiliser les identifiants fournis pour l'atelier. Ne saisissez pas ceux de votre compte Google Cloud. Remarque : Si vous utilisez votre propre compte Google Cloud pour cet atelier, des frais supplémentaires peuvent vous être facturés. -
Accédez aux pages suivantes :
- Acceptez les conditions d'utilisation.
- N'ajoutez pas d'options de récupération ni d'authentification à deux facteurs (ce compte est temporaire).
- Ne vous inscrivez pas à des essais gratuits.
Après quelques instants, la console Cloud s'ouvre dans cet onglet.
Ouvrir la console BigQuery
- Dans la console Google Cloud, sélectionnez le menu de navigation > BigQuery.
Le message Bienvenue sur BigQuery dans Cloud Console s'affiche. Il contient un lien vers le guide de démarrage rapide et les notes de version.
- Cliquez sur OK.
La console BigQuery s'ouvre.
Accéder à l'ensemble de données du cours
- Dans le volet Explorateur, cliquez sur + AJOUTER.
Le volet Ajouter des données
s'ouvre.
-
Sous "Sources supplémentaires", cliquez sur Ajouter un projet aux favoris en saisissant son nom.
-
Saisissez
data-to-insights
et cliquez sur Ajouter aux favoris.
Cliquez sur le lien direct ci-dessous pour afficher le projet public data-to-insights :
Les définitions de champ correspondant à l'ensemble de données d'e-commerce data-to-insights sont disponibles sur cette page. Gardez la page ouverte dans un nouvel onglet pour référence.
Cliquez sur l'onglet Requête, puis sélectionnez Dans un nouvel onglet pour ouvrir l'éditeur de requête.
Tâche 1 : Explorer les données d'e-commerce
Scénario : Votre équipe d'analystes de données a exporté les journaux Google Analytics d'un site Web d'e-commerce dans BigQuery et a créé une table répertoriant toutes les données brutes relatives aux sessions visiteur du site afin que vous puissiez les explorer. Vous allez tenter de répondre à quelques questions à l'aide de ces données.
Question : Sur le nombre total de visiteurs de notre site Web, quel pourcentage a effectué un achat ?
- Copiez la requête suivante et collez-la dans l'Éditeur BigQuery :
- Cliquez sur Exécuter.
Résultat : 2,69 %
Question : Quels sont les cinq produits qui se vendent le mieux ?
- Effacez la requête précédente, puis ajoutez la requête suivante dans l'Éditeur :
- Cliquez sur Exécuter.
Vous obtenez le résultat suivant :
Ligne |
v2ProductName |
v2ProductCategory |
units_sold |
revenue |
1 |
Nest® Learning Thermostat 3rd Gen-USA - Stainless Steel |
Nest-USA |
17651 |
870976.95 |
2 |
Nest® Cam Outdoor Security Camera - USA |
Nest-USA |
16930 |
684034.55 |
3 |
Nest® Cam Indoor Security Camera - USA |
Nest-USA |
14155 |
548104.47 |
4 |
Nest® Protect Smoke + CO White Wired Alarm-USA |
Nest-USA |
6394 |
178937.6 |
5 |
Nest® Protect Smoke + CO White Battery Alarm-USA |
Nest-USA |
6340 |
178572.4 |
Question : Combien d'internautes ont effectué un achat lors d'une nouvelle visite sur le site Web ?
- Effacez la requête précédente, puis ajoutez la requête suivante dans l'Éditeur :
- Cliquez sur Exécuter.
Résultats :
Ligne |
total_visitors |
will_buy_on_return_visit |
1 |
729848 |
0 |
2 |
11873 |
1 |
L'analyse des résultats indique que 1,6 % (11 873/729 848) du nombre total de visiteurs revient sur le site Web et effectue un achat. Cela inclut le sous-ensemble de visiteurs qui ont effectué un achat lors de leur première session ainsi que lors d'une visite ultérieure.
Question : Pour quelles raisons un client lambda parcourt-il un site Web d'e-commerce, mais n'effectue un achat que lors d'une visite ultérieure ?
Réponse : Il n'y a pas de réponse unique à cette question, mais l'une des raisons souvent avancées est que les visiteurs comparent les offres sur différents sites d'e-commerce avant de prendre une décision d'achat. Cette pratique, très courante pour les achats de produits de luxe qui requièrent de nombreuses recherches et comparaisons préalables (achat d'une voiture, par exemple), s'applique aussi dans une moindre mesure à ce site de produits promotionnels (t-shirts, accessoires, etc.).
Dans l'univers du marketing en ligne, il est important d'identifier ces futurs clients et de tenir compte des caractéristiques de leur première visite pour augmenter les taux de conversion et limiter la fuite de clients potentiels vers des sites concurrents.
Tâche 2 : Identifier un objectif
Vous allez maintenant créer un modèle de machine learning dans BigQuery pour déterminer si un nouveau visiteur est susceptible d'effectuer un achat ultérieurement. Cette information peut aider votre équipe marketing à cibler les prospects intéressants avec des promotions et des campagnes publicitaires spéciales pour encourager les conversions si ceux-ci comparent les offres entre deux visites sur votre site e-commerce.
Tâche 3 : Sélectionner des caractéristiques et créer l'ensemble de données d'entraînement
Google Analytics capture un large éventail de dimensions et de mesures concernant les visites sur ce site Web d'e-commerce. Après avoir parcouru la liste complète des champs dans la documentation du schéma de BigQuery Export [UA], prévisualisez l'ensemble de données de démonstration pour identifier des caractéristiques pertinentes qui permettront à un modèle de machine learning d'établir une relation entre les données collectées lors de la première visite d'un internaute sur votre site Web et la probabilité qu'il y revienne pour effectuer un achat.
Votre équipe veut déterminer si les deux champs suivants conviendront pour votre modèle de classification :
-
totals.bounces
(visiteur qui quitte le site Web immédiatement) -
totals.timeOnSite
(durée de la visite de l'internaute sur le site Web)
Question : Quels risques prendrions-nous en utilisant uniquement les champs ci-dessus ?
Réponse : Les résultats du machine learning dépendent des données qui lui sont fournies. Si le modèle ne dispose pas de données suffisantes pour déterminer et apprendre la relation entre vos caractéristiques d'entrée et votre étiquette (dans ce cas, si le visiteur a acheté un produit ultérieurement), il fournira des informations imprécises. Commencer à entraîner un modèle avec seulement ces deux champs n'est qu'un premier pas, mais cela vous permet tout de même de déterminer leur capacité à produire un modèle efficace.
- Dans l'Éditeur BigQuery, exécutez la requête suivante :
Résultats :
Ligne |
bounces |
time_on_site |
will_buy_on_return_visit |
1 |
0 |
15047 |
0 |
2 |
0 |
12136 |
0 |
3 |
0 |
11201 |
0 |
4 |
0 |
10046 |
0 |
5 |
0 |
9974 |
0 |
6 |
0 |
9564 |
0 |
7 |
0 |
9520 |
0 |
8 |
0 |
9275 |
1 |
9 |
0 |
9138 |
0 |
10 |
0 |
8872 |
0 |
Question : Quels champs correspondent aux caractéristiques d'entrée et à l'étiquette ?
Réponse : Les entrées sont bounces (rebonds) et time_on_site (temps passé sur le site). L'étiquette est will_buy_on_return_visit (achètera lors d'une visite ultérieure).
Question : Quels sont les deux champs dont on connaît la valeur après la première session d'un visiteur ?
Réponse : Les valeurs des champs bounces et time_on_site sont disponibles après la première session d'un visiteur.
Question : Quel champ ne sera connu qu'à une date ultérieure ?
Réponse : La valeur de will_buy_on_return_visit n'est pas disponible après la première visite. Rappelez-vous que votre prédiction est basée sur un sous-ensemble d'utilisateurs qui sont revenus sur votre site Web pour effectuer un achat. Sachant qu'au moment de la prédiction, vous ne savez pas ce que l'avenir vous réserve, vous ne pouvez pas affirmer qu'un nouveau visiteur reviendra sur le site et effectuera un achat. La création d'un modèle de ML présente l'intérêt de calculer, à l'aide des données récupérées lors de la première session, la probabilité qu'un utilisateur donné effectue un achat ultérieurement.
Question : Compte tenu des premiers résultats fournis par les données, pensez-vous que time_on_site et bounces sont de bons indicateurs pour déterminer si un utilisateur reviendra pour effectuer un achat ?
Réponse : Il faut généralement attendre que le modèle soit entraîné et évalué pour se prononcer. Cependant, on peut déjà voir à partir des 10 premières valeurs time_on_site
qu'un seul client est revenu pour effectuer un achat, ce qui n'est pas très prometteur. Examinons à présent la qualité du modèle.
Tâche 4 : Créer un ensemble de données BigQuery pour y stocker vos modèles
Créons maintenant un autre ensemble de données BigQuery dans lequel stocker vos modèles de ML.
- Dans le volet de gauche, dans la section Explorateur, cliquez sur l'icône Afficher les actions à côté du nom de votre projet (qui commence par
qwiklabs-gcp-...
), puis sur Créer un ensemble de données.
- Dans la boîte de dialogue Créer l'ensemble de données :
- Dans le champ ID de l'ensemble de données, saisissez "ecommerce".
- Conservez les valeurs par défaut dans les autres champs.
- Cliquez sur Créer l'ensemble de données.
Cliquez sur Vérifier ma progression pour valider l'objectif.
Tâche 5 : Sélectionner un type de modèle BigQuery ML et définir les options correspondantes
Maintenant que vous avez sélectionné les caractéristiques de base, vous pouvez créer votre premier modèle de ML dans BigQuery.
Vous avez le choix entre deux types de modèles :
Modèle |
Type de modèle |
Type de données de l'étiquette |
Exemple |
Prévision |
linear_reg (régression linéaire) |
Valeur numérique (nombre entier généralement ou à virgule flottante) |
Prévisions de ventes pour l'année prochaine d'après l'historique des données de ventes |
Classification |
logistic_reg (régression logistique) |
0 ou 1 (classification binaire) |
Classification ou non d'un e-mail dans la catégorie spam selon le contexte |
Quel type de modèle choisir ?
Puisque vous procédez au binning des visiteurs dans deux catégories ("achètera ultérieurement" et "n'achètera pas ultérieurement"), utilisez la régression logistique logistic_reg
dans un modèle de classification.
La requête suivante permet de créer un modèle et d'en spécifier les options.
- Exécutez-la pour entraîner votre modèle :
- Attendez que le modèle soit entraîné (cela prend entre 5 et 10 minutes).
Cliquez sur Vérifier ma progression pour valider l'objectif.
Une fois votre modèle entraîné, le message suivant s'affiche : "Cette instruction a créé un modèle intitulé qwiklabs-gcp-xxxxxxxxx:ecommerce.classification_model".
-
Cliquez sur Accéder au modèle.
-
Vérifiez que le modèle classification_model apparaît bien au sein de l'ensemble de données "ecommerce".
L'étape suivante consiste à évaluer les performances du modèle à partir de données d'évaluation non rencontrées précédemment.
Tâche 6 : Évaluer les performances du modèle de classification
Sélectionner vos critères de performances
Pour limiter les problèmes de classification en ML, il convient de réduire au minimum le taux de faux positifs (par exemple, prédire le retour d'un utilisateur et un achat, et que cela ne se produise pas) et d'obtenir un taux de vrais positifs maximal (prédire le retour d'un utilisateur et un achat, et que cela se produise).
Cette relation est représentée par une courbe ROC (receiver operating characteristic) telle qu'illustrée ci-dessous, l'objectif étant d'avoir un AUC (Area under the ROC - Espace sous la courbe ROC) le plus grand possible :
Dans BigQuery ML, roc_auc désigne simplement un champ interrogeable lors de l'évaluation du modèle de ML entraîné.
- Maintenant que l'entraînement est terminé, utilisez la fonction
ML.EVALUATE
pour évaluer les performances du modèle. Pour ce faire, exécutez cette requête :
Vous devriez obtenir le résultat suivant :
Ligne |
roc_auc |
model_quality |
1 |
0.7238561438561438 |
decent |
L'évaluation de votre modèle indique un roc_auc de 0,72, correspondant à des performances prédictives correctes, mais largement améliorables. Le but étant d'obtenir un espace sous la courbe le plus proche possible de 1, vous avez une marge de progression.
Cliquez sur Vérifier ma progression pour valider l'objectif.
Tâche 7 : Améliorer les performances du modèle par ingénierie des caractéristiques
Comme indiqué précédemment, l'ensemble de données renferme de nombreuses autres caractéristiques susceptibles d'aider le modèle à mieux comprendre la relation entre la première session d'un visiteur et la probabilité qu'il effectue un achat lors d'une visite ultérieure.
- Créez un second modèle de machine learning nommé
classification_model_2
comprenant les caractéristiques supplémentaires suivantes :
- Étape du processus de paiement à laquelle le visiteur s'est arrêté
- Provenance du visiteur (source du trafic : recherche naturelle, site référent, etc.)
- Catégorie d'appareil (mobile, tablette, ordinateur de bureau)
- Localisation géographique (pays)
- Créez le second modèle en cliquant sur l'icône "+" (Saisir une nouvelle requête) :
Parmi les caractéristiques ajoutées à l'ensemble de données d'entraînement, l'une des plus intéressantes est la progression de chaque visiteur dans le processus de paiement, laquelle est enregistrée dans le champ hits.eCommerceAction.action_type
. Si vous recherchez ce champ dans les définitions de champs, vous constaterez qu'un mappage de 6 correspond à un achat terminé.
- Attendez que le nouveau modèle soit entraîné (5 à 10 minutes).
Cliquez sur Vérifier ma progression pour valider l'objectif.
- Évaluez les performances prédictives du nouveau modèle :
Résultat :
Ligne |
roc_auc |
model_quality |
1 |
0.9094875124875125 |
good |
Avec ce nouveau modèle, vous obtenez un roc_auc de 0,91, soit des performances bien meilleures qu'avec le premier modèle.
Maintenant que vous disposez d'un modèle entraîné, il est temps de passer aux prédictions.
Cliquez sur Vérifier ma progression pour valider l'objectif.
Tâche 8 : Prédire quels nouveaux visiteurs reviendront effectuer un achat
Vous allez à présent élaborer une requête permettant de prédire quels nouveaux visiteurs reviendront pour effectuer un achat.
- La requête de prédiction ci-dessous emploie le modèle de classification amélioré afin de calculer la probabilité qu'un nouveau visiteur du Google Merchandise Store achète un produit lors d'une visite ultérieure :
Les prédictions sont établies pour le dernier mois (sur les 12 mois que compte l'ensemble de données).
Cliquez sur Vérifier ma progression pour valider l'objectif.
Le modèle va maintenant fournir des prédictions pour les sessions d'e-commerce de juillet 2017. Comme vous le voyez, trois champs ont été ajoutés :
- predicted_will_buy_on_return_visit : indique si le modèle pense que le visiteur achètera un produit ultérieurement (1 = oui)
- predicted_will_buy_on_return_visit_probs.label : classificateur binaire pour oui/non
- predicted_will_buy_on_return_visit.probs.prob : taux de confiance du modèle dans sa prédiction (1 = 100 %)
Tâche 9 : Analyser les résultats et informations complémentaires
Résultats
- Sur les premiers 6 % de nouveaux visiteurs (classés par ordre décroissant de probabilité), plus de 6 % effectuent un achat lors d'une visite ultérieure.
- Ces utilisateurs représentent près de 50 % de tous les nouveaux visiteurs effectuant un achat lors d'une visite ultérieure.
- Globalement, 0,7 % seulement des nouveaux visiteurs effectuent un achat lors d'une visite ultérieure.
- Le ciblage des premiers 6 % de nouveaux visiteurs (plutôt que de l'ensemble de ces derniers) permet de dégager un ROI marketing neuf fois supérieur.
Informations supplémentaires
Conseil : Si vous relancez l'entraînement d'un modèle existant avec de nouvelles données, gagnez du temps en ajoutant warm_start = true
à ses options. Notez qu'il est impossible de modifier les colonnes de caractéristiques. Cette opération nécessiterait un nouveau modèle.
roc_auc est une métrique de performances parmi d'autres pour évaluer des modèles. Il en existe d'autres telles que la justesse, la précision et le rappel. Le choix de la métrique adéquate dépend principalement de l'objectif global que vous vous êtes fixé.
Autres ensembles de données à explorer
Vous pouvez utiliser le projet bigquery-public-data si vous souhaitez découvrir la modélisation d'autres ensembles de données, par exemple pour prédire le tarif de courses en taxi.
- Pour ouvrir l'ensemble de données bigquery-public-data, cliquez sur +Ajouter. Sous "Sources supplémentaires", cliquez sur Ajouter un projet aux favoris en saisissant son nom.
- Indiquez ensuite le nom
bigquery-public-data
. - Cliquez sur Ajouter aux favoris.
Le projet bigquery-public-data
apparaît désormais dans la section "Explorateur".
Tâche 10 : Tester vos connaissances
Testez vos connaissances sur Google Cloud Platform en répondant à notre quiz.
Félicitations !
Vous venez de créer un modèle de machine learning avec BigQuery ML pour classifier les visiteurs d'un site d'e-commerce et prédire leurs habitudes d'achat.
Étapes suivantes et informations supplémentaires
- Vous possédez un compte Google Analytics et souhaitez interroger vos propres ensembles de données BigQuery ? Sur la page d'aide d'Analytics, consultez le guide de configuration de BigQuery Export.
- Pour obtenir des informations sur la création de requêtes, consultez la documentation de référence sur la syntaxe des requêtes disponible sur la page BigQuery.
- Suivez cet atelier : Prédire le prix d'une course en taxi à l'aide d'un modèle de prévision BigQuery ML
Formations et certifications Google Cloud
Les formations et certifications Google Cloud vous aident à tirer pleinement parti des technologies Google Cloud. Nos cours portent sur les compétences techniques et les bonnes pratiques à suivre pour être rapidement opérationnel et poursuivre votre apprentissage. Nous proposons des formations pour tous les niveaux, à la demande, en salle et à distance, pour nous adapter aux emplois du temps de chacun. Les certifications vous permettent de valider et de démontrer vos compétences et votre expérience en matière de technologies Google Cloud.
Dernière mise à jour du manuel : 7 février 2024
Dernier test de l'atelier : 9 octobre 2023
Copyright 2024 Google LLC Tous droits réservés. Google et le logo Google sont des marques de Google LLC. Tous les autres noms d'entreprises et de produits peuvent être des marques des entreprises auxquelles ils sont associés.