Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
Cet article explique comment utiliser des fonctions de liaison sémantique SemPy pour découvrir et valider des relations dans des modèles sémantiques Power BI et pandas DataFrames.
Dans la science des données et le Machine Learning, il est important de comprendre la structure et les relations de vos données. Power BI vous permet de modéliser et de visualiser ces structures et relations. Pour obtenir plus d’insights ou créer des modèles Machine Learning, utilisez des fonctions de liaison sémantique dans les modules de bibliothèque SemPy.
Les scientifiques des données et les analystes métier utilisent des fonctions SemPy pour répertorier, visualiser et valider des relations dans des modèles sémantiques Power BI, ou rechercher et valider des relations dans des DataFrames pandas.
Prérequis
Obtenir un abonnement Microsoft Fabric. Ou, inscrivez-vous pour un essai gratuit de Microsoft Fabric.
Connectez-vous à Microsoft Fabric.
Basculez vers Fabric à l’aide du sélecteur d’expérience situé en bas à gauche de votre page d’accueil.
Créez un bloc-notes pour copier et 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 lorsque vous utilisez Fabric. Vous n’avez donc pas besoin 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.fabricsé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 list_relationships fonction avec un modèle sémantique Power BI nommé my_dataset. La fonction retourne un DataFrame pandas avec une ligne pour chaque relation. Vous pouvez donc explorer et analyser rapidement 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
Utilisez la plot_relationship_metadata fonction pour visualiser les relations dans un modèle sémantique et découvrir comment le modèle est structuré. Cette fonction crée un graphique qui affiche les connexions entre les tables et les colonnes, ce qui facilite la façon dont différents éléments sont liés.
Voici un exemple d’utilisation de 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 l’exemple, la list_relationships fonction obtient les relations dans le modèle sémantique my_dataset , et la plot_relationship_metadata fonction crée un graphique pour afficher ces relations.
Personnalisez le graphique en choisissant les colonnes à inclure, en définissant comment gérer les clés manquantes et en ajoutant d’autres attributs graphviz .
Validez les relations dans les modèles sémantiques
Utilisez la list_relationship_violations fonction pour vérifier les relations dans votre modèle sémantique et rechercher des problèmes ou incohérences. La list_relationship_violations fonction vérifie vos tables pour s’assurer qu’elles correspondent aux relations dans votre modèle sémantique.
Cette fonction vous aide à trouver des incohérences avec la multiplicité des relations et à résoudre les problèmes avant qu’ils n’affectent vos modèles d’analyse des données ou de Machine Learning.
Pour utiliser la list_relationship_violations fonction, importez le sempy.fabric module et lisez les tables de votre modèle sémantique.
Ensuite, appelez la fonction avec un dictionnaire qui mappe les noms de tables aux DataFrames avec le contenu de la 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 list_relationship_violations fonction avec un dictionnaire qui contient les tables Sales, Products et Customers du modèle sémantique my_dataset . Vous pouvez personnaliser la fonction en définissant un seuil de couverture, en choisissant comment gérer les clés manquantes et en définissant le nombre de clés manquantes à signaler.
La fonction retourne un DataFrame pandas avec une ligne pour chaque violation de relation, ce qui vous permet de trouver et de résoudre rapidement les problèmes dans votre modèle sémantique.
Utilisez la fonction pour maintenir la list_relationship_violations cohérence et la précision de votre modèle sémantique, afin de créer des modèles Machine Learning plus fiables et d’obtenir de meilleurs insights à partir de vos données.
Rechercher des relations dans des DataFrames pandas
Les fonctions list_relationships, plot_relationships_df et list_relationship_violations du module Fabric sont des outils puissants pour explorer les relations dans les modèles sémantiques. Parfois, vous devez trouver des relations dans d’autres sources de données, comme pandas DataFrames.
Utilisez la find_relationships fonction dans le sempy.relationship module pour rechercher des relations dans des DataFrames pandas.
La find_relationships fonction du sempy.relationships module permet aux scientifiques des données et aux analystes d’entreprise de trouver des relations potentielles dans une liste de DataFrames pandas. Cette fonction vous aide à repérer les connexions entre les tables et les colonnes, afin d’en savoir plus sur vos données et la façon dont ses éléments sont liés.
Voici comment trouver des relations dans des 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 find_relationships fonction avec une liste de trois DataFrames pandas : df_sales, df_productset df_customers.
La fonction retourne un DataFrame pandas avec une ligne pour chaque relation potentielle, ce qui vous permet d’explorer et d’analyser les relations dans vos données.
Personnalisez la fonction en définissant 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
Une fois que vous avez trouvé des relations potentielles dans vos DataFrames pandas à l’aide de la find_relationships fonction, utilisez la list_relationship_violations fonction pour valider ces relations et identifier les problèmes ou incohérences.
La list_relationship_violations fonction vérifie vos tables pour s’assurer qu’elles correspondent aux relations découvertes. Utilisez cette fonction pour rechercher des incohérences avec la multiplicité de relation spécifiée. Vous pouvez donc résoudre les problèmes avant d’affecter vos modèles d’analyse des données ou de Machine Learning.
Voici un exemple qui montre comment rechercher des violations de relation dans des 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)
L’exemple appelle la fonction list_relationship_violations avec trois DataFrames pandas : df_sales, df_products et df_customers, ainsi que les DataFrames de relations de la fonction find_relationships.
La list_relationship_violations fonction retourne un DataFrame pandas avec une ligne pour chaque violation de relation, ce qui vous permet de trouver et de résoudre rapidement les problèmes dans vos données.
Personnalisez la fonction en définissant un seuil de couverture, en choisissant comment gérer les clés manquantes et en définissant le nombre de clés manquantes à signaler.
Utilisez la fonction list_relationship_violations avec les DataFrames de pandas pour assurer la cohérence et la précision de vos données. Cela vous permet de créer des modèles Machine Learning fiables et d’obtenir des insights plus approfondis à partir de 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