Explorez et validez les relations dans les modèles sémantiques et les cadres de données
Dans cet article, vous apprendrez à utiliser les fonctions de lien sémantique SemPy pour découvrir et valider les relations dans vos modèles sémantiques Power BI et DataFrames pandas.
Dans la science des données et le Machine Learning, il est important de comprendre la structure et les relations au sein de vos données. Power BI est un outil puissant qui vous permet de modéliser et de visualiser ces structures et ces relations. Pour obtenir plus d'informations ou construire des modèles d'apprentissage automatique, vous pouvez aller plus loin en utilisant les fonctions de lien sémantique dans les modules de la bibliothèque SemPy.
Les scientifiques des données et les analystes commerciaux peuvent utiliser les fonctions SemPy pour lister, visualiser et valider les relations dans les modèles sémantiques Power BI, ou trouver et valider les relations dans les DataFrames pandas.
Prérequis
Obtenir un abonnement Microsoft Fabric. Ou, inscrivez-vous pour un essai gratuit de Microsoft Fabric.
Connectez-vous à Microsoft Fabric.
Utilisez le sélecteur d’expérience en bas à gauche de votre page d’accueil pour basculer vers Fabric.
Créez un notebook pour copier/coller du code dans des cellules.
Pour Spark 3.4 et versions ultérieures, le lien sémantique est disponible dans le runtime par défaut lors de l’utilisation de Fabric et il n’est pas nécessaire de l’installer. Pour Spark 3.3 et versions antérieures, ou pour effectuer une mise à jour vers la dernière version du lien sémantique, exécutez la commande suivante :
%pip install -U semantic-link
Lister les relations dans les modèles sémantiques
La list_relationships
fonction du module renvoie une liste de toutes les relations trouvées dans un modèle sempy.fabric
sémantique Power BI. La liste vous aide à comprendre la structure de vos données et la façon dont les différents tableaux et colonnes sont reliés.
Cette fonction utilise des liens sémantiques pour fournir des DataFrames annotées. Les DataFrames comprennent les métadonnées nécessaires pour comprendre les relations au sein du modèle sémantique. Les DataFrames annotées facilitent l'analyse de la structure du modèle sémantique et son utilisation dans des modèles d'apprentissage automatique ou d'autres tâches d'analyse de données.
Pour utiliser la fonction list_relationships
, vous devez d'abord importer le module sempy.fabric
. Ensuite, vous appelez la fonction en utilisant le nom ou l'UUID de votre modèle sémantique Power BI, comme le montre l'exemple suivant :
import sempy.fabric as fabric
fabric.list_relationships("my_dataset")
Le code précédent appelle la fonction list_relationships
avec un modèle sémantique Power BI appelé my_dataset. La fonction retourne un DataFrame pandas avec une ligne par relation, ce qui vous permet d’explorer et d’analyser facilement les relations dans le modèle sémantique.
Remarque
Votre notebook, votre modèle sémantique de jeu de données Power BI et votre lakehouse peuvent être situés dans le même espace de travail ou dans des espaces de travail différents. Par défaut, SemPy tente d’accéder à votre modèle sémantique à partir de :
- L'espace de travail de votre maison de lac, si vous avez attaché une maison de lac à votre carnet.
- L’espace de travail de votre notebook, s’il n’y a pas de lakehouse attaché.
Si votre modèle sémantique n'est pas situé dans l'un de ces espaces de travail, vous devez spécifier l'espace de travail de votre modèle sémantique lorsque vous appelez une méthode SemPy.
Visualiser les relations dans les modèles sémantiques
Cette fonction plot_relationship_metadata
permet de visualiser les relations dans un modèle sémantique afin de mieux comprendre la structure du modèle. Cette fonction crée un graphique qui affiche les liens entre les tableaux et les colonnes. Le graphique facilite la compréhension de la structure du modèle sémantique et de la manière dont les différents éléments sont liés.
L’exemple suivant explique comment utiliser la plot_relationship_metadata
fonction :
import sempy.fabric as fabric
from sempy.relationships import plot_relationship_metadata
relationships = fabric.list_relationships("my_dataset")
plot_relationship_metadata(relationships)
Dans le code précédent, la fonction list_relationships
récupère les relations dans le modèle sémantique my_dataset, et la fonction plot_relationship_metadata
crée un graphique pour visualiser ces relations.
Vous pouvez personnaliser le graphique en définissant les colonnes à inclure, en spécifiant comment gérer les clés manquantes et en fournissant d'autres attributs graphviz.
Validez les relations dans les modèles sémantiques
Maintenant que vous avez une meilleure compréhension des relations dans votre modèle sémantique, vous pouvez utiliser la fonction list_relationship_violations
pour valider ces relations et identifier tout problème ou incohérence potentiel. La fonction list_relationship_violations
vous aide à valider le contenu de vos tables pour vous assurer qu’elles correspondent aux relations définies dans votre modèle sémantique.
En utilisant cette fonction, vous pouvez identifier les incohérences avec la multiplicité de relation spécifiée et résoudre les problèmes avant qu’ils n’affectent vos modèles d’analyse de données ou de Machine Learning.
Pour utiliser la fonction list_relationship_violations
, vous devez d'abord importer le module sempy.fabric
et lire les tables de votre modèle sémantique.
Ensuite, vous appelez la fonction avec un dictionnaire qui mappe les noms de tables aux DataFrames avec du contenu de table.
L'exemple de code suivant montre comment dresser la liste des violations de relations :
import sempy.fabric as fabric
tables = {
"Sales": fabric.read_table("my_dataset", "Sales"),
"Products": fabric.read_table("my_dataset", "Products"),
"Customers": fabric.read_table("my_dataset", "Customers"),
}
fabric.list_relationship_violations(tables)
Le code précédent appelle la fonction list_relationship_violations
avec un dictionnaire qui contient les tables Ventes, Produitset Clients du modèle sémantique my_dataset. Vous pouvez personnaliser la fonction en fixant un seuil de couverture, en spécifiant comment traiter les clés manquantes et en définissant le nombre de clés manquantes à signaler.
La fonction retourne un DataFrame pandas avec une ligne par violation de relation, ce qui vous permet d’identifier et de résoudre facilement les problèmes au sein de votre modèle sémantique.
En utilisant la fonction list_relationship_violations
, vous pouvez vous assurer que votre modèle sémantique est cohérent et précis, ce qui vous permet de créer des modèles Machine Learning plus fiables et d’obtenir des insights plus approfondis sur vos données.
Rechercher des relations dans des DataFrames pandas
Bien que les fonctions list_relationships
, plot_relationships_df
et list_relationship_violations
du module Fabric soient des outils puissants pour explorer les relations au sein des modèles sémantiques, vous pouvez également avoir besoin de découvrir des relations au sein d'autres sources de données importées en tant que pandas DataFrames.
C’est là que la fonction find_relationships
du module sempy.relationship
entre en jeu.
La fonction find_relationships
du module sempy.relationships
aide les scientifiques des données et les analystes commerciaux à découvrir des relations potentielles dans une liste de DataFrames pandas. À l’aide de cette fonction, vous pouvez identifier les connexions possibles entre les tables et les colonnes, ce qui vous permet de mieux comprendre la structure de vos données et la façon dont différents éléments sont liés.
L'exemple de code suivant montre comment trouver des relations dans les DataFrames pandas :
from sempy.relationships import find_relationships
tables = [df_sales, df_products, df_customers]
find_relationships(tables)
Le code précédent appelle la fonction find_relationships
avec une liste de trois Pandas DataFrames : df_sales
, df_products
, et df_customers
.
La fonction retourne un DataFrame pandas avec une ligne par relation potentielle, ce qui vous permet d’explorer et d’analyser facilement les relations au sein de vos données.
Vous pouvez personnaliser la fonction en spécifiant un seuil de couverture, un seuil de similarité de nom, une liste de relations à exclure et s’il faut inclure des relations plusieurs à plusieurs.
Valider les relations dans les DataFrames pandas
Après avoir découvert des relations potentielles dans vos DataFrames pandas à l'aide de la fonction find_relationships
, vous pouvez utiliser la fonction list_relationship_violations
pour valider ces relations et identifier tout problème ou incohérence potentiel.
La fonction list_relationship_violations
valide le contenu de vos tables pour s'assurer qu'elles correspondent aux relations découvertes. En utilisant cette fonction pour identifier les incohérences avec la multiplicité des relations spécifiée, vous pouvez résoudre les problèmes avant qu'ils n'aient un impact sur vos modèles d'analyse de données ou d'apprentissage automatique.
L'exemple de code suivant montre comment trouver des violations de relations dans les DataFrames pandas :
from sempy.relationships import find_relationships, list_relationship_violations
tables = [df_sales, df_products, df_customers]
relationships = find_relationships(tables)
list_relationship_violations(tables, relationships)
Le code précédent appelle la fonction list_relationship_violations
avec une liste de trois DataFrames pandas, df_sales
, df_products
, etdf_customers
plus le DataFrame des relations de la fonction find_relationships
.
La fonction list_relationship_violations
retourne un DataFrame pandas avec une ligne par violation de relation, ce qui vous permet d’identifier et de résoudre facilement les problèmes au sein de vos données.
Vous pouvez personnaliser la fonction en fixant un seuil de couverture, en spécifiant comment traiter les clés manquantes et en définissant le nombre de clés manquantes à signaler.
En utilisant la fonction list_relationship_violations
avec des DataFrames pandas, vous pouvez vous assurer que vos données sont cohérentes et précises, ce qui vous permet de créer des modèles Machine Learning plus fiables et d’obtenir des insights plus approfondis sur vos données.
Contenu connexe
- En savoir plus sur les fonctions sémantiques
- Démarrez avec la documentation de référence SemPy
- Tutoriel : Découvrir des relations dans le modèle sémantique, à l’aide du lien sémantique
- Tutoriel : Découvrir les relations dans un jeu de données Synthea en utilisant le lien sémantique
- Détecter, explorer et valider les dépendances fonctionnelles dans vos données