Grâce à un cas pratique, vous explorerez le processus de science des données, entraînerez des modèles avec des notebooks dans Microsoft Fabric et suivrez les métriques d’entraînement de modèle avec MLflow et des expériences
Vous avez besoin d’une licence d’évaluation Microsoft Fabric avec la préversion Fabric activée dans votre locataire. Consultez Bien démarrer avec Fabric pour activer votre licence d’évaluation Fabric.
Introduction
Imaginez que vous travaillez pour un supermarché et que vous souhaitez optimiser la gestion des stocks de pain pour répondre à la demande des clients tout en évitant le gaspillage alimentaire. Vous pourriez également envisager d’analyser les habitudes d’achat de vos clients pour personnaliser les offres.
La science des données offre une solution, en combinant mathématiques, statistiques et ingénierie informatique. Elle vous permet d’analyser les données pour identifier des modèles complexes, fournissant ainsi des informations cruciales pour prendre des décisions éclairées. En utilisant la science des données, vous pouvez créer des modèles d’intelligence artificielle (IA) avec des bibliothèques telles que scikit-learn en Python.
Gérer un projet de science des données du début à la fin peut être complexe, mais Microsoft Fabric propose un espace de travail complet pour cette tâche.
L’objectif du Machine Learning est d’entraîner des modèles capables d’identifier des modèles dans de grandes quantités de données. Vous pouvez ensuite utiliser les modèles pour effectuer des prédictions qui vous fournissent de nouveaux insights pour lesquels vous pouvez prendre des mesures.
Les possibilités du Machine Learning peuvent sembler infinies. Commençons donc par comprendre les quatre types courants de modèles Machine Learning :

- Classification : prédire une valeur catégorielle, indiquant, par exemple, s’il a un risque de perdre un client.
- Régression : prédire une valeur numérique comme le prix d’un produit.
- Clustering : regroupez des points de données similaires dans des clusters ou des groupes.
- Prévision : prédire des valeurs numériques futures basées sur des données de séries chronologiques, comme les ventes attendues pour le mois à venir.
Pour déterminer le type de modèle Machine Learning que vous devez entraîner, vous devez d’abord comprendre le problème métier et les données disponibles.
Pour entraîner un modèle Machine Learning, le processus implique généralement les étapes suivantes :

- Définir le problème : avec les utilisateurs métier et les analystes, déterminez ce que le modèle doit prédire et quand il réussit.
- Obtenir les données : recherchez des sources de données et obtenez l’accès en stockant vos données dans un lakehouse.
- Préparer les données : explorez les données en les lisant à partir d’un lakehouse dans un notebook. Nettoyez et transformez les données en fonction des exigences du modèle.
- Entraîner le modèle : choisissez un algorithme et des valeurs d’hyperparamètres par tâtonnements en suivant vos expériences avec MLflow.
- Générer des insights : utilisez le scoring par lots du modèle pour générer les prédictions demandées.
En tant que scientifique des données, vous consacrez la plupart de votre temps à la préparation des données et à l’entraînement du modèle. La façon dont vous préparez les données et l’algorithme que vous choisissez pour entraîner un modèle peuvent influencer la réussite de votre modèle.
Vous pouvez préparer et entraîner un modèle à l’aide de bibliothèques open source disponibles pour le langage de votre choix. Par exemple, si vous utilisez Python, vous pouvez préparer les données avec Pandas et Numpy, et entraîner un modèle avec des bibliothèques telles que Scikit-Learn, PyTorch ou SynapseML.
Lors de l’expérimentation, vous souhaitez conserver une vue d’ensemble de tous les différents modèles que vous avez entraînés. Vous souhaitez comprendre comment vos choix influencent la réussite du modèle. En suivant vos expériences avec MLflow dans Microsoft Fabric, vous pouvez facilement gérer et déployer les modèles que vous avez entraînés.
CAS PRATIQUE : UTILISEZ DES TABLES DELTA DANS APACHE PARK
1. Créer un espace de travail
Avant de travailler avec des données dans Fabric, créez un espace de travail avec la version d’essai Fabric activée.
- Sur la page d’accueil de Microsoft Fabric , sélectionnez Synapse Data Engineering .
- Dans la barre de menu de gauche, sélectionnez Espaces de travail (l’icône ressemble à 🗇).
- Créez un nouvel espace de travail avec le nom de votre choix, en sélectionnant un mode de licence qui inclut la capacité Fabric ( Trial , Premium ou Fabric ).
-
Lorsque votre nouvel espace de travail s’ouvre, il devrait être vide.
2. Créez un notebook
Pour exécuter du code, vous pouvez créer un notebook . Les blocs-notes fournissent un environnement interactif dans lequel vous pouvez écrire et exécuter du code (dans plusieurs langues).
-
Dans la page d’accueil de Synapse Data Science , créez un nouveau Notebook .
Après quelques secondes, un nouveau bloc-notes contenant une seule cellule s’ouvrira. Les blocs-notes sont constitués d’une ou plusieurs cellules pouvant contenir du code ou du markdown (texte formaté).
-
Sélectionnez la première cellule (qui est actuellement une cellule de code ), puis dans la barre d’outils dynamique en haut à droite, utilisez le bouton M↓ pour convertir la cellule en cellule de démarque .
Lorsque la cellule se transforme en cellule de démarque, le texte qu’elle contient est rendu.
-
Utilisez le bouton 🖉 (Modifier) pour passer la cellule en mode édition, puis supprimez le contenu et saisissez le texte suivant :
# Data science in Microsoft Fabric
3. Obtenir des données
-
Vous êtes maintenant prêt à exécuter du code pour obtenir des données et entraîner un modèle. Vous travaillerez avec l’ ensemble de données sur le diabète d’Azure Open Datasets. Après avoir chargé les données, vous convertirez les données en un dataframe Pandas : une structure commune pour travailler avec des données en lignes et en colonnes.
-
Dans votre bloc-notes, utilisez l’ icône + Code sous la dernière sortie de cellule pour ajouter une nouvelle cellule de code au bloc-notes et entrez-y le code suivant :
Code# Azure storage access info for open dataset diabetes blob_account_name = "azureopendatastorage" blob_container_name = "mlsamples" blob_relative_path = "diabetes" blob_sas_token = r"" # Blank since container is Anonymous access # Set Spark config to access blob storage wasbs_path = f"wasbs://%s@%s.blob.core.windows.net/%s" % (blob_container_name, blob_account_name, blob_relative_path) spark.conf.set("fs.azure.sas.%s.%s.blob.core.windows.net" % (blob_container_name, blob_account_name), blob_sas_token) print("Remote blob path: " + wasbs_path) # Spark read parquet, note that it won't load any data yet by now df = spark.read.parquet(wasbs_path) -
Utilisez le bouton ▷ Exécuter la cellule à gauche de la cellule pour l’exécuter. Alternativement, vous pouvez appuyer sur
SHIFT+ENTERsur votre clavier pour exécuter une cellule.Remarque : Comme c’est la première fois que vous exécutez du code Spark dans cette session, le pool Spark doit être démarré. Cela signifie que la première exécution de la session peut prendre environ une minute. Les courses suivantes seront plus rapides.
-
Utilisez l’ icône + Code sous la sortie de la cellule pour ajouter une nouvelle cellule de code au bloc-notes et entrez-y le code suivant :
Codedisplay(df) -
Une fois la commande de cellule terminée, examinez le résultat sous la cellule, qui devrait ressembler à ceci :
ÂGE SEXE IMC PA S1 S2 S3 S4 S5 S6 Oui 59 2 32.1 101,0 157 93.2 38,0 4.0 4.8598 87 151 48 1 21.6 87,0 183 103.2 70,0 3.0 3.8918 69 75 72 2 30,5 93,0 156 93,6 41,0 4.0 4,6728 85 141 24 1 25.3 84,0 198 131.4 40,0 5.0 4.8903 89 206 50 1 23,0 101,0 192 125,4 52,0 4.0 4.2905 80 135 … … … … … … … … … … … Le résultat affiche les lignes et les colonnes de l’ensemble de données sur le diabète.
- Il y a deux onglets en haut du tableau rendu : Table et Chart . Sélectionnez Graphique .
- Sélectionnez les options d’affichage en haut à droite du graphique pour modifier la visualisation.
- Modifiez le graphique avec les paramètres suivants :
- Type de graphique :
Box plot - Clé : Laisser vide
- Valeurs :
Y
- Type de graphique :
- Sélectionnez Appliquer pour afficher la nouvelle visualisation et explorer la sortie.
-
4. Préparer les données
Maintenant que vous avez ingéré et exploré les données, vous pouvez transformer les données. Vous pouvez soit exécuter du code dans un bloc-notes, soit utiliser Data Wrangler pour générer du code pour vous.
-
Les données sont chargées sous forme de dataframe Spark. Pour lancer Data Wrangler, vous devez convertir les données en une trame de données Pandas. Exécutez le code suivant dans votre notebook :
df = df.toPandas() df.head() - Sélectionnez Données dans le ruban du bloc-notes, puis sélectionnez la liste déroulante Lancer Data Wrangler .
-
Sélectionnez l’
dfensemble de données. Lorsque Data Wrangler est lancé, il génère un aperçu descriptif du dataframe dans le panneau Résumé .Actuellement, la colonne d’étiquette est
Y, qui est une variable continue. Pour entraîner un modèle d’apprentissage automatique qui prédit Y, vous devez entraîner un modèle de régression. Les valeurs (prédites) de Y peuvent être difficiles à interpréter. Au lieu de cela, nous pourrions explorer la formation d’un modèle de classification qui prédit si une personne présente un risque faible ou élevé de développer un diabète. Pour pouvoir entraîner un modèle de classification, vous devez créer une colonne d’étiquettes binaires basée sur les valeurs deY. - Sélectionnez la
Ycolonne dans le Data Wrangler. A noter qu’il y a une diminution de fréquence pour le220-240bac. Le 75e centile211.5s’aligne à peu près avec la transition des deux régions dans l’histogramme. Utilisons cette valeur comme seuil de risque faible et élevé. - Accédez au panneau Opérations , développez Formules , puis sélectionnez Créer une colonne à partir d’une formule .
- Créez une nouvelle colonne avec les paramètres suivants :
- Nom de colonne :
Risk - Formule de colonne :
(df['Y'] > 211.5).astype(int)
- Nom de colonne :
- Vérifiez la nouvelle colonne
Riskajoutée à l’aperçu. Vérifiez que le nombre de lignes avec une valeur1doit représenter environ 25 % de toutes les lignes (car il s’agit du 75e centile deY). - Sélectionnez Appliquer .
- Sélectionnez Ajouter du code au bloc-notes .
- Exécutez la cellule avec le code généré par Data Wrangler.
-
Exécutez le code suivant dans une nouvelle cellule pour vérifier que la
Riskcolonne a la forme attendue :df_clean.describe()
5. Former des modèles d'apprentissage automatique
Maintenant que vous avez préparé les données, vous pouvez les utiliser pour entraîner un modèle d’apprentissage automatique afin de prédire le diabète. Nous pouvons entraîner deux types différents de modèles avec notre ensemble de données : un modèle de régression (prédictif Y) ou un modèle de classification (prédictif Risk). Vous entraînerez les modèles à l’aide de la bibliothèque scikit-learn et suivrez les modèles avec MLflow.
Former un modèle de régression
-
Exécutez le code suivant pour diviser les données en un ensemble de données d’entraînement et de test, et pour séparer les fonctionnalités de l’étiquette
Yque vous souhaitez prédire :from sklearn.model_selection import train_test_split X, y = df_clean[['AGE','SEX','BMI','BP','S1','S2','S3','S4','S5','S6']].values, df_clean['Y'].values X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.30, random_state=0) -
Ajoutez une autre nouvelle cellule de code au bloc-notes, entrez-y le code suivant et exécutez-le :
import mlflow experiment_name = "diabetes-regression" mlflow.set_experiment(experiment_name)Le code crée une expérience MLflow nommée
diabetes-regression. Vos modèles seront suivis dans cette expérience. -
Ajoutez une autre nouvelle cellule de code au bloc-notes, entrez-y le code suivant et exécutez-le :
from sklearn.linear_model import LinearRegression with mlflow.start_run(): mlflow.autolog() model = LinearRegression() model.fit(X_train, y_train)Le code entraîne un modèle de régression à l’aide de la régression linéaire. Les paramètres, les métriques et les artefacts sont automatiquement enregistrés avec MLflow.
Former un modèle de classification
-
Exécutez le code suivant pour diviser les données en un ensemble de données d’entraînement et de test, et pour séparer les fonctionnalités de l’étiquette
Riskque vous souhaitez prédire :from sklearn.model_selection import train_test_split X, y = df_clean[['AGE','SEX','BMI','BP','S1','S2','S3','S4','S5','S6']].values, df_clean['Risk'].values X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.30, random_state=0) -
Ajoutez une autre nouvelle cellule de code au bloc-notes, entrez-y le code suivant et exécutez-le :
import mlflow experiment_name = "diabetes-classification" mlflow.set_experiment(experiment_name)Le code crée une expérience MLflow nommée
diabetes-classification. Vos modèles seront suivis dans cette expérience. -
Ajoutez une autre nouvelle cellule de code au bloc-notes, entrez-y le code suivant et exécutez-le :
from sklearn.linear_model import LogisticRegression with mlflow.start_run(): mlflow.sklearn.autolog() model = LogisticRegression(C=1/0.1, solver="liblinear").fit(X_train, y_train)Le code entraîne un modèle de classification à l’aide de la régression logistique. Les paramètres, les métriques et les artefacts sont automatiquement enregistrés avec MLflow.
6. Explorez vos expériences
Microsoft Fabric gardera une trace de toutes vos expériences et vous permettra de les explorer visuellement.
- Accédez à votre espace de travail à partir de la barre de menu du hub sur la gauche.
-
Sélectionnez l’
diabetes-regressionexpérience pour l’ouvrir.Conseil : Si vous ne voyez aucune exécution d’expérience enregistrée, actualisez la page.
- Passez en revue les métriques d’exécution pour déterminer avec précision votre modèle de régression.
- Revenez à la page d’accueil et sélectionnez l’
diabetes-classificationexpérience pour l’ouvrir. - Passez en revue les métriques d’exécution pour explorer la précision du modèle de classification. Notez que les types de métriques sont différents selon que vous avez entraîné un type de modèle différent.
7. Enregistrez le modèle
Après avoir comparé les modèles d’apprentissage automatique que vous avez entraînés au cours d’expériences, vous pouvez choisir le modèle le plus performant. Pour utiliser le modèle le plus performant, enregistrez le modèle et utilisez-le pour générer des prédictions.
- Sélectionnez Enregistrer dans la zone Enregistrer en tant que modèle .
- Sélectionnez Créer un nouveau modèle dans la fenêtre contextuelle nouvellement ouverte.
- Sélectionnez le
modeldossier. - Nommez le modèle
model-diabeteset sélectionnez Enregistrer . - Sélectionnez Afficher le modèle dans la notification qui apparaît en haut à droite de votre écran lorsque le modèle est créé. Vous pouvez également actualiser la fenêtre. Le modèle enregistré est lié sous Versions du modèle .
Notez que le modèle, l’expérience et l’exécution de l’expérience sont liés, ce qui vous permet de revoir la manière dont le modèle est entraîné.
8. Enregistrez le bloc-notes et terminez la session Spark
Maintenant que vous avez terminé la formation et l’évaluation des modèles, vous pouvez enregistrer le notebook sous un nom significatif et mettre fin à la session Spark.
- Dans la barre de menus du bloc-notes, utilisez l’icône ⚙️ Paramètres pour afficher les paramètres du bloc-notes.
- Définissez le Nom du bloc-notes sur Entraîner et comparer des modèles , puis fermez le volet des paramètres.
- Dans le menu du bloc-notes, sélectionnez Arrêter la session pour mettre fin à la session Spark.
9. Nettoyer les ressources
Dans cet exercice, vous avez créé un bloc-notes et entraîné un modèle d’apprentissage automatique. Vous avez utilisé scikit-learn pour entraîner le modèle et MLflow pour suivre ses performances.
Si vous avez fini d’explorer votre modèle et vos expériences, vous pouvez supprimer l’espace de travail que vous avez créé pour cet exercice.
- Dans la barre de gauche, sélectionnez l’icône de votre espace de travail pour afficher tous les éléments qu’il contient.
- Dans le menu … de la barre d’outils, sélectionnez Paramètres de l’espace de travail .
- Dans la section Autre , sélectionnez Supprimer cet espace de travail .
Note : Source https://learn.microsoft.com/
Aller plus loin
L’analytique dans Microsoft Fabric vous interesse? Passez au niveau supérieur, obtenez la certification DP 600 en suivant le parcours de formation en ligne offert gratuitement par Microsoft sur son site d’apprentissage officiel.
Vous pouvez y accéder directement via ce lien😉 : https://learn.microsoft.com/fr-fr/credentials/certifications/exams/dp-600/
Créer un bouton pour exporter les données du visuel PowerBI vers Excel ou CSV
Organisez votre lakehouse Fabric à l’aide de la conception d’architecture en médaillon
Ingérer des données avec des notebooks Spark et Microsoft Fabric
Bien démarrer avec les entrepôts de données dans Microsoft Fabric
La version d’essai de Microsoft Fabric à nouveau disponible
Utiliser des tables Delta dans Apache Spark
Analysez les données avec Apache Spark
Bien démarrer avec les Lakehouses dans Fabric
Activez et utilisez Microsoft Fabric
