
Before you begin
- Labs create a Google Cloud project and resources for a fixed time
- Labs have a time limit and no pause feature. If you end the lab, you'll have to restart from the beginning.
- On the top left of your screen, click Start lab to begin
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
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.
Dans cet atelier, vous allez apprendre à effectuer les tâches suivantes :
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 les activités dans un véritable environnement cloud, et non dans un environnement de simulation ou de démonstration. Des identifiants temporaires vous sont fournis pour vous permettre de vous connecter à Google Cloud le temps de l'atelier.
Pour réaliser cet atelier :
Cliquez sur le bouton Démarrer l'atelier. Si l'atelier est payant, une boîte de dialogue 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 :
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.
Si nécessaire, copiez le nom d'utilisateur ci-dessous et collez-le dans la boîte de dialogue Se connecter.
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.
Vous trouverez également le mot de passe dans le panneau "Détails concernant l'atelier".
Cliquez sur Suivant.
Accédez aux pages suivantes :
Après quelques instants, la console Cloud s'ouvre dans cet onglet.
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.
La console BigQuery s'ouvre.
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.
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 ?
Résultat : 2,69 %
Question : Quels sont les cinq produits qui se vendent le mieux ?
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 ?
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.
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.
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.
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.
Créons maintenant un autre ensemble de données BigQuery dans lequel stocker vos modèles de ML.
qwiklabs-gcp-...
), puis sur Créer un ensemble de données.Cliquez sur Vérifier ma progression pour valider l'objectif.
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.
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.
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é.
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.
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.
classification_model_2
comprenant les caractéristiques supplémentaires suivantes :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é.
Cliquez sur Vérifier ma progression pour valider l'objectif.
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.
Vous allez à présent élaborer une requête permettant de prédire quels nouveaux visiteurs reviendront pour effectuer un achat.
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 :
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é.
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.
bigquery-public-data
.Le projet bigquery-public-data
apparaît désormais dans la section "Explorateur".
Testez vos connaissances sur Google Cloud Platform en répondant à notre quiz.
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.
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 2025 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.
Ce contenu n'est pas disponible pour le moment
Nous vous préviendrons par e-mail lorsqu'il sera disponible
Parfait !
Nous vous contacterons par e-mail s'il devient disponible
One lab at a time
Confirm to end all existing labs and start this one