BigQuery Machine Learning (BigQuery ML) permet aux utilisateurs de créer et d'exécuter des modèles de machine learning dans BigQuery à l'aide de requêtes SQL. L'objectif est de démocratiser le machine learning en permettant aux utilisateurs SQL de créer des modèles à l'aide de leurs propres outils et d'accélérer le rythme de développement en leur évitant d'avoir à transférer des données.
Nous mettons à votre disposition un ensemble de données d'e-commerce comprenant des millions d'enregistrements Google Analytics pour le Google Merchandise Store, qui sont chargés dans BigQuery. Dans cet atelier, vous allez utiliser ces données pour créer un modèle capable de prédire si un visiteur effectuera une transaction.
Objectifs de l'atelier
Apprendre à créer, évaluer et utiliser des modèles de machine learning dans BigQuery
Des connaissances de base sur le langage SQL ou BigQuery
Préparation
Pour chaque atelier, nous vous attribuons un nouveau projet Google Cloud et un nouvel ensemble de ressources pour une durée déterminée, sans frais.
Connectez-vous à Qwiklabs dans une fenêtre de navigation privée.
Vérifiez le temps imparti pour l'atelier (par exemple : 01:15:00) : vous devez pouvoir le terminer dans ce délai.
Une fois l'atelier lancé, vous ne pouvez pas le mettre en pause. Si nécessaire, vous pourrez le redémarrer, mais vous devrez tout reprendre depuis le début.
Lorsque vous êtes prêt, cliquez sur Démarrer l'atelier.
Notez vos identifiants pour l'atelier (Nom d'utilisateur et Mot de passe). Ils vous serviront à vous connecter à Google Cloud Console.
Cliquez sur Ouvrir la console Google.
Cliquez sur Utiliser un autre compte, puis copiez-collez les identifiants de cet atelier lorsque vous y êtes invité.
Si vous utilisez d'autres identifiants, des messages d'erreur s'afficheront ou des frais seront appliqués.
Acceptez les conditions d'utilisation et ignorez la page concernant les ressources de récupération des données.
Ouvrir la console BigQuery
Dans Google Cloud Console, sélectionnez le menu de navigation > BigQuery :
Le message Welcome to BigQuery in the Cloud Console (Bienvenue sur BigQuery dans Cloud Console) s'affiche. Il contient un lien vers le guide de démarrage rapide et répertorie les mises à jour de l'interface utilisateur.
Cliquez sur Done (OK).
Tâche 1 : Créer un ensemble de données
Pour créer un ensemble de données dans votre projet, cliquez sur les trois points à côté de l'ID du projet dans la section Explorateur, puis cliquez sur Créer un ensemble de données.
La boîte de dialogue Créer un ensemble de données s'ouvre.
Saisissez bqml_lab comme ID de l'ensemble de données, puis cliquez sur CRÉER L'ENSEMBLE DE DONNÉES (acceptez les autres valeurs par défaut).
Tâche 2 : Explorer les données
Les données que nous allons utiliser dans cet atelier se trouvent dans le projet bigquery-public-data, qui est accessible à tous. Examinons un échantillon de ces données.
Ajoutez la requête suivante dans le champ Requête sans titre, et cliquez sur le bouton Exécuter.
#standardSQL
SELECT
IF(totals.transactions IS NULL, 0, 1) AS label,
IFNULL(device.operatingSystem, "") AS os,
device.isMobile AS is_mobile,
IFNULL(geoNetwork.country, "") AS country,
IFNULL(totals.pageviews, 0) AS pageviews
FROM
`bigquery-public-data.google_analytics_sample.ga_sessions_*`
WHERE
_TABLE_SUFFIX BETWEEN '20160801' AND '20170631'
LIMIT 10000;
Les tableaux de données contiennent de nombreuses colonnes, mais seules certaines d'entre elles nous intéressent pour créer notre modèle de ML. Le système d'exploitation de l'appareil utilisé par le visiteur, le type d'appareil (mobile), la situation géographique du visiteur (pays ou région) et le nombre de pages vues figurent parmi les critères pris en compte pour déterminer si une transaction a été effectuée. L'étiquette label représente le résultat que vous cherchez à obtenir (ou à prédire).
Ces données serviront de données d'entraînement pour le modèle de ML que vous allez créer. Seules les données recueillies entre le 1er août 2016 et le 31 juin 2017 sont utilisées pour l'entraînement, ce qui permet de réserver les données du dernier mois de la période pour les prédictions. Afin de gagner du temps, le nombre de points de données est limité à 10 000.
Enregistrons-les en tant que données d'entraînement. Cliquez sur le bouton Enregistrer, puis sélectionnez Enregistrer la vue dans le menu déroulant pour enregistrer cette requête en tant que vue. Dans le pop-up, sélectionnez bqml_lab comme Ensemble de données et saisissez training_data comme Nom du tableau, puis cliquez sur Enregistrer.
Tâche 3 : Créer un modèle
À présent, remplacez la requête par le code suivant pour créer un modèle qui servira à prédire si un visiteur va effectuer une transaction :
#standardSQL
CREATE OR REPLACE MODEL `bqml_lab.sample_model`
OPTIONS(model_type='logistic_reg') AS
SELECT * from `bqml_lab.training_data`;
Dans ce cas précis, bqml_lab désigne l'ensemble de données, sample_model le nom du modèle, et training_data les données des transactions que nous avons examinées dans l'étape précédente. (en l'occurrence, il s'agit d'un modèle de type régression logistique binaire).
Utilisez ensuite la commande CREATE MODEL (Créer un modèle) pour créer une tâche de requête qui sera exécutée de façon asynchrone, ce qui vous laisse le temps de fermer ou d'actualiser la fenêtre BigQuery, par exemple.
[Facultatif] Consulter les informations sur le modèle et les statistiques d'entraînement
Si cela vous intéresse, vous pouvez obtenir des informations sur le modèle en cliquant sur l'ensemble de données bqml_lab dans le menu de gauche, puis sur le modèle sample_model dans l'UI. Sous Détails, vous devriez trouver des informations de base concernant le modèle ainsi que les options d'entraînement utilisées pour le créer. Un tableau semblable au suivant apparaît normalement sous Statistiques de l'entraînement :
Tâche 4 : Évaluer le modèle
À présent, remplacez la requête par le code suivant :
#standardSQL
SELECT
*
FROM
ml.EVALUATE(MODEL `bqml_lab.sample_model`);
Dans cette requête, vous utilisez la fonction ml.EVALUATE pour évaluer les valeurs prédites par rapport aux données réelles. Celle-ci indique certaines métriques relatives aux performances du modèle. Un tableau semblable à ce qui suit doit s'afficher :
Tâche 5 : Utiliser le modèle
Cliquez à présent sur Requête SQL et exécutez la requête suivante :
#standardSQL
SELECT
IF(totals.transactions IS NULL, 0, 1) AS label,
IFNULL(device.operatingSystem, "") AS os,
device.isMobile AS is_mobile,
IFNULL(geoNetwork.country, "") AS country,
IFNULL(totals.pageviews, 0) AS pageviews,
fullVisitorId
FROM
`bigquery-public-data.google_analytics_sample.ga_sessions_*`
WHERE
_TABLE_SUFFIX BETWEEN '20170701' AND '20170801';
Comme vous pouvez le constater, les parties SELECT et FROM de la requête sont similaires à celles utilisées pour générer les données d'entraînement. La colonne supplémentaire fullVisitorId que vous utiliserez pour prédire les transactions pour chaque utilisateur est présente. La partie WHERE indique la nouvelle période (du 1er juillet au 1er août 2017).
Nous allons enregistrer les données de juillet, car elles nous serviront dans les deux prochaines étapes pour faire des prédictions à l'aide de notre modèle. Cliquez sur le bouton Enregistrer, puis sélectionnez Enregistrer la vue dans le menu déroulant pour enregistrer cette requête en tant que vue. Dans le pop-up, sélectionnez bqml_lab comme Ensemble de données et saisissez july_data comme Nom du tableau, puis cliquez sur Enregistrer.
Prédire les achats pour chaque pays/région
Avec la requête suivante, vous allez pouvoir prédire le nombre de transactions effectuées par les visiteurs dans chaque pays ou région, trier les résultats et établir un classement des 10 pays qui enregistreront le plus de transactions :
#standardSQL
SELECT
country,
SUM(predicted_label) as total_predicted_purchases
FROM
ml.PREDICT(MODEL `bqml_lab.sample_model`, (
SELECT * FROM `bqml_lab.july_data`))
GROUP BY country
ORDER BY total_predicted_purchases DESC
LIMIT 10;
Dans cette requête, vous utilisez ml.PREDICT et la partie BigQuery ML de la requête a été enveloppée avec des commandes SQL standards. Pour cet atelier, nous nous intéressons aux pays et au nombre de transactions dans chacun d'eux, ce qui explique l'utilisation des commandes SELECT, GROUP BY et ORDER BY. La commande LIMIT, quant à elle, limite les résultats aux 10 pays arrivés en tête.
Un tableau semblable à ce qui suit doit s'afficher :
Prédire les achats pour chaque utilisateur
Considérons un autre exemple. Cette fois-ci, vous allez pouvoir prédire le nombre de transactions effectuées par chaque visiteur, trier les résultats et établir un classement des 10 visiteurs qui réaliseront le plus de transactions :
#standardSQL
SELECT
fullVisitorId,
SUM(predicted_label) as total_predicted_purchases
FROM
ml.PREDICT(MODEL `bqml_lab.sample_model`, (
SELECT * FROM `bqml_lab.july_data`))
GROUP BY fullVisitorId
ORDER BY total_predicted_purchases DESC
LIMIT 10;
Un tableau semblable à ce qui suit doit s'afficher :
Terminer l'atelier
Une fois l'atelier terminé, cliquez sur Terminer l'atelier. Google Cloud Skills Boost supprime les ressources que vous avez utilisées, puis efface le compte.
Si vous le souhaitez, vous pouvez noter l'atelier. Sélectionnez un nombre d'étoiles, saisissez un commentaire, puis cliquez sur Envoyer.
Le nombre d'étoiles correspond à votre degré de satisfaction :
1 étoile = très insatisfait(e)
2 étoiles = insatisfait(e)
3 étoiles = ni insatisfait(e), ni satisfait(e)
4 étoiles = satisfait(e)
5 étoiles = très satisfait(e)
Si vous ne souhaitez pas donner votre avis, vous pouvez fermer la boîte de dialogue.
Pour soumettre des commentaires, suggestions ou corrections, veuillez accéder à l'onglet Assistance.
Copyright 2020 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.
Les ateliers créent un projet Google Cloud et des ressources pour une durée déterminée.
Les ateliers doivent être effectués dans le délai imparti et ne peuvent pas être mis en pause. Si vous quittez l'atelier, vous devrez le recommencer depuis le début.
En haut à gauche de l'écran, cliquez sur Démarrer l'atelier pour commencer.
Utilisez la navigation privée
Copiez le nom d'utilisateur et le mot de passe fournis pour l'atelier
Cliquez sur Ouvrir la console en navigation privée
Connectez-vous à la console
Connectez-vous à l'aide des identifiants qui vous ont été attribués pour l'atelier. L'utilisation d'autres identifiants peut entraîner des erreurs ou des frais.
Acceptez les conditions d'utilisation et ignorez la page concernant les ressources de récupération des données.
Ne cliquez pas sur Terminer l'atelier, à moins que vous n'ayez terminé l'atelier ou que vous ne vouliez le recommencer, car cela effacera votre travail et supprimera le projet.
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
Un atelier à la fois
Confirmez pour mettre fin à tous les ateliers existants et démarrer celui-ci
Utilisez la navigation privée pour effectuer l'atelier
Ouvrez une fenêtre de navigateur en mode navigation privée pour effectuer cet atelier. Vous éviterez ainsi les conflits entre votre compte personnel et le compte temporaire de participant, qui pourraient entraîner des frais supplémentaires facturés sur votre compte personnel.
Dans cet atelier, vous allez apprendre à créer et évaluer un modèle de machine learning avec BigQuery ML, que vous utiliserez pour prédire les comportements d'achat.
Durée :
0 min de configuration
·
Accessible pendant 90 min
·
Terminé après 60 min