
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 dataset
/ 25
Load Data to BigQuery Tables
/ 25
Explore and Investigate the Data with BigQuery
/ 10
Prepare Your Data
/ 10
Train an Unsupervised Model to Detect Anomalies
/ 10
Train a Supervised Machine Learning Model
/ 10
Predict Fraudulent Transactions on Test Data
/ 10
Dans cet atelier, vous allez explorer les données de transactions financières pour analyser les fraudes, et appliquer des techniques d'ingénierie des caractéristiques et de machine learning pour détecter les activités frauduleuses à l'aide de BigQuery ML.
Vous utiliserez des données de transactions financières publiques. Ces données comportent les colonnes suivantes :
isFraud
La colonne cible isFraud inclut les étiquettes pour les transactions frauduleuses. Vous utiliserez ces étiquettes pour entraîner des modèles supervisés destinés à la détection des fraudes et appliquerez des modèles non supervisés pour détecter les anomalies.
The data for this lab is from the Kaggle site. If you do not have a Kaggle account, it's free to create one.
Points abordés :
Dans cet atelier, vous allez utiliser l'interface de BigQuery pour l'ingénierie des caractéristiques, le développement du modèle, l'évaluation et la prédiction.
Participants that prefer Notebooks as the model development interface may choose to build models in AI Platform Notebooks instead of BigQuery ML. Then at the end of the lab, you can also complete the optional section. You can import open source libraries and create custom models or you can call BigQuery ML models within Notebooks using BigQuery magic commands.
If you want to train models in an automated way without any coding, you can use Google Cloud AutoML which builds models using state-of-the-art algorithms. The training process for AutoML would take almost 2 hours, that's why it is recommended to initiate it at the beginning of the lab, as soon as the data is prepared, so that you can see the results at the end. Check for the "Attention" phrase at the end of the data preparation step.
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.
Cloud Shell est une machine virtuelle qui contient de nombreux outils pour les développeurs. Elle comprend un répertoire d'accueil persistant de 5 Go et s'exécute sur Google Cloud. Cloud Shell vous permet d'accéder via une ligne de commande à vos ressources Google Cloud.
Une fois connecté, vous êtes en principe authentifié et le projet est défini sur votre ID_PROJET. Le résultat contient une ligne qui déclare YOUR_PROJECT_ID (VOTRE_ID_PROJET) pour cette session :
gcloud
est l'outil de ligne de commande pour Google Cloud. Il est préinstallé sur Cloud Shell et permet la complétion par tabulation.
Cliquez sur Autoriser.
Vous devez à présent obtenir le résultat suivant :
Résultat :
Résultat :
Exemple de résultat :
gcloud
, dans Google Cloud, accédez au guide de présentation de la gcloud CLI.
unzip
:Le résultat indique qu'un fichier a été décompressé.
finance
pour stocker les tables et les modèles de cet atelier dans Cloud Shell :Si la commande s'exécute correctement, vous obtiendrez le résultat suivant :
Cliquez sur Vérifier ma progression pour valider l'objectif.
Pour charger vos données dans BigQuery, vous pouvez utiliser l'interface utilisateur de BigQuery ou le terminal de commande dans Cloud Shell. Choisissez l'une des options ci-dessous :
finance.fraud_data
:L'option --autodetect
lira automatiquement le schéma de la table (le nom et type des variables, etc.).
Pour charger les données à partir de votre bucket Cloud Storage, ouvrez BigQuery dans la console Cloud.
Dans la fenêtre pop-up "Créer une table", définissez Source
sur Google Cloud Storage et sélectionnez le fichier CSV brut dans votre bucket Cloud Storage.
Saisissez fraud_data comme nom de table. Sous "Schéma", sélectionnez l'option Détection automatique pour que le nom des variables soit lu automatiquement à partir de la première ligne du fichier brut.
Cliquez sur Créer une table.
Le processus de chargement peut prendre une à deux minutes.
Cliquez sur Vérifier ma progression pour valider l'objectif.
Si ce n'est pas encore fait, ouvrez BigQuery dans la console Cloud.
Vous allez maintenant commencer à explorer les données afin de mieux les comprendre et de les préparer pour les modèles de machine learning.
Ajoutez les requêtes suivantes dans l'éditeur de requête, cliquez sur EXÉCUTER, puis explorez les données.
Cliquez sur SAISIR UNE NOUVELLE REQUÊTE pour lancer la suivante. Cela vous permettra de comparer facilement les résultats lorsque vous aurez terminé.
Dans la colonne isFraud
, recherchez "1 = yes".
isFraud
) :PRENEZ LE TEMPS DE RÉFLÉCHIR :
isFraud
par le nombre total d'observations, vous obtiendrez la proportion de transactions frauduleuses.Dans la section suivante, nous verrons comment traiter ces questions et améliorer les données pour les modèles de machine learning.
Cliquez sur Vérifier ma progression pour valider l'objectif.
Vous pouvez améliorer les données de modélisation en ajoutant de nouvelles caractéristiques, en filtrant les types de transactions non pertinents et en augmentant la proportion de la variable cible isFraud
par le biais d'un sous-échantillonnage.
Les résultats produits par votre phase d'analyse indiquent que vous avez seulement besoin d'analyser les transactions de type TRANSFER
et CASH_OUT
et que vous pouvez filtrer le reste. Vous pouvez aussi calculer de nouvelles variables à partir des valeurs de montant existantes.
L'ensemble de données comporte une cible extrêmement déséquilibrée pour la fraude (dans les données brutes, le taux de fraude est de 0,0013 %). Les événements rares sont un cas classique dans le domaine de la fraude. Vous allez stratifier les données et augmenter la proportion de cas de fraude afin de rendre le schéma de comportement frauduleux plus évident pour les algorithmes de machine learning et de faciliter l'interprétation des résultats.
Exécutez la requête.
Créez une table de données TEST en sélectionnant aléatoirement un échantillon de 20 % :
Ces données seront conservées séparément et ne seront pas incluses dans l'entraînement. Vous les utiliserez pour attribuer un score à votre modèle lors de l'étape finale.
BigQuery ML et AutoML partitionnent automatiquement les données du modèle entre TRAIN (entraînement) et VALIDATE (validation) lorsqu'ils utilisent des algorithmes de machine learning pour tester le taux d'erreur dans les données d'entraînement et dans les données de validation, afin d'éviter un surapprentissage.
Les données échantillonnées créées pour la modélisation comportent environ 228 000 lignes de transactions bancaires.
Vous pouvez aussi partitionner manuellement votre ensemble de données entre TRAIN/VALIDATE et TEST, en particulier lorsque vous avez besoin de cohérence pour comparer des modèles de différents environnements, comme AutoML ou AI Platform.
PRENEZ LE TEMPS DE RÉFLÉCHIR :
Cliquez sur Vérifier ma progression pour valider l'objectif.
Les méthodes non supervisées sont couramment utilisées pour la détection des fraudes afin d'explorer les comportements anormaux dans les données. Elles peuvent également être utiles lorsqu'il n'y a pas d'étiquettes pour signaler la fraude ou lorsque le taux d'événements est très faible et que le nombre d'occurrences ne permet pas de construire un modèle supervisé.
Dans cette section, vous allez utiliser un algorithme de clustering en k-moyennes pour créer des segments de transactions, analyser chaque segment et détecter ceux qui comportent des anomalies.
kmeans
:Cette opération créera un modèle en k-moyennes appelé model_unsupervised
avec cinq clusters exploitant les variables sélectionnées dans fraud_data_model
.
Une fois l'entraînement terminé, le modèle apparaîtra sous Finance > Modèles.
L'algorithme k-moyennes crée une variable de sortie appelée centroid_id. Chaque transaction est associée à un centroid_id. Les transactions proches ou similaires sont affectées au même cluster par l'algorithme.
L'indice de Davies-Bouldin reflète le degré d'homogénéité des clusters. Une valeur plus faible indique des clusters plus distants les uns des autres. C'est le résultat que nous voulons obtenir dans notre cas.
Les caractéristiques numériques sont affichées sur des graphiques à barres pour chaque centroïde (cluster) dans l'onglet "Évaluation". Le nombre à côté des barres correspond à la valeur moyenne des variables dans chaque cluster. Il est recommandé de standardiser les variables d'entrée ou de les regrouper dans des buckets pour empêcher les grands nombres ou les anomalies d'affecter le calcul des distances lors du clustering. Par souci de simplicité, nous utilisons les variables d'origine pour cet exercice de l'atelier.
Les variables catégorielles utilisées comme entrée sont affichées séparément. Vous pouvez observer la distribution des transactions de type TRANSFER et CASH_OUT dans les différents segments ci-dessous.
Le graphique de votre modèle peut être différent. Examinez les plus petits segments et essayez d'interpréter leurs distributions.
La variable cible isFraud
n'a pas été utilisée dans ce modèle non supervisé. Dans cet exercice, il est préférable de conserver cette variable pour le profilage et de l'utiliser pour explorer la distribution des activités frauduleuses dans chaque cluster.
Attribuez un score aux données de test (fraud_data_test
) avec ce modèle et examinez le nombre d'événements de fraude dans chaque centroid_id
. Les algorithmes de clustering créent des groupes d'observations homogènes. Dans cette requête, ML.PREDICT
va appeler le modèle et générer le centroid_id
pour chaque transaction dans les données de test.
Exécutez la commande suivante dans une nouvelle requête :
PRENEZ LE TEMPS DE RÉFLÉCHIR :
Cliquez sur Vérifier ma progression pour valider l'objectif.
Vous êtes maintenant prêt à créer des modèles supervisés à l'aide de BigQuery ML afin de prédire la probabilité de transactions frauduleuses. Commencez par un modèle simple. Utilisez BigQuery ML pour créer un modèle de régression logistique binaire destiné à la classification. Ce modèle essaiera de prédire s'il est ou non probable que la transaction soit frauduleuse.
Pour toutes les variables non numériques (catégorielles), BigQuery ML effectue automatiquement une transformation d'encodage one-hot qui génère une caractéristique distincte pour chaque valeur unique dans la variable. Dans cet exercice, l'encodage one-hot va être automatiquement effectué par BigQuery ML pour la variable TYPE.
Une fois compilée, la table model_supervised_initial
apparaîtra sous Finance > Modèles.
Lorsque le modèle sera créé, vous pourrez obtenir ses statistiques d'évaluation, d'entraînement et de métadonnées depuis l'UI de la console BigQuery.
Dans l'onglet Évaluation, vous trouverez différentes métriques de performances spécifiques aux modèles de classification.
L'interprétation des performances d'un modèle fait partie des thématiques clés en machine learning. Étant donné que vous avez effectué une régression logistique, il est important de comprendre les principaux concepts ci-dessous :
Le graphique sur cette page Wikipédia explique bien les concepts de précision et de rappel.
La valeur ROC de ce modèle de régression est très élevée. Pour mieux comprendre la justesse, vous pouvez tester les résultats à différents seuils de probabilité.
Examinez les caractéristiques les plus influentes dans le modèle.
Les pondérations sont standardisées avec l'option standardize, ce qui permet d'effacer l'impact de l'amplitude des variables. Les pondérations les plus élevées sont aussi les plus importantes. Le signe de la pondération indique sa direction, selon sa relation directe ou inverse avec la cible.
PRENEZ LE TEMPS DE RÉFLÉCHIR :
oldbalanceOrig
et type
sont les plus importantes.Cliquez sur Vérifier ma progression pour valider l'objectif.
Passons à un exercice amusant : vous allez créer un autre modèle, puis entraîner vos deux modèles afin d'en améliorer la justesse.
Vous allez maintenant comparer vos deux modèles et choisir le meilleur.
Améliorez le modèle de régression logistique existant en lui ajoutant de nouvelles variables.
Après avoir créé le modèle, vous pouvez utiliser la fonction ML.EVALUATE
pour évaluer les performances du classificateur. La fonction ML.EVALUATE
compare le résultat ou les valeurs prédites aux données réelles.
PRENEZ LE TEMPS DE RÉFLÉCHIR :
La dernière étape en machine learning consiste à utiliser le modèle champion pour prédire des résultats sur de nouveaux ensembles de données.
Les algorithmes de machine learning dans BigQuery ML créent une variable imbriquée appelée predicted_<target_name\>_probs
. Cette variable inclut les scores de probabilité pour la décision du modèle. Dans le cas présent, la décision du modèle désigne une transaction comme légitime ou frauduleuse.
PRENEZ LE TEMPS DE RÉFLÉCHIR :
Cliquez sur Vérifier ma progression pour valider l'objectif.
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 modification du manuel : 12 octobre 2023
Dernier test de l'atelier : 12 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