Κοινή χρήση μέσω


Εξερεύνηση και επικύρωση σχέσεων σε σημασιολογικά μοντέλα και πλαίσια δεδομένων

Σε αυτό το άρθρο, θα μάθετε να χρησιμοποιείτε τις συναρτήσεις σημασιολογίας SemPy για τον εντοπισμό και την επικύρωση σχέσεων στα σημασιολογικά μοντέλα Power BI και τα pandas DataFrames.

Στην επιστήμη δεδομένων και την εκμάθηση μηχανής, είναι σημαντικό να κατανοήσετε τη δομή και τις σχέσεις μέσα στα δεδομένα σας. Το Power BI είναι ένα ισχυρό εργαλείο που σας επιτρέπει να μοντελοποιήσετε και να απεικονίσετε αυτές τις δομές και σχέσεις. Για να αποκτήσετε περισσότερες πληροφορίες ή να δημιουργήσετε μοντέλα εκμάθησης μηχανής, μπορείτε να εμβαθύνετε χρησιμοποιώντας τις συναρτήσεις σύνδεσης σημασιολογίας στις λειτουργικές μονάδες βιβλιοθήκης SemPy.

Οι επιστήμονες δεδομένων και οι επιχειρηματικοί αναλυτές μπορούν να χρησιμοποιήσουν συναρτήσεις SemPy για να παρατίθενται, να απεικονίσουν και να επικυρώσουν σχέσεις σε σημασιολογικά μοντέλα Power BI ή να εντοπίσουν και επικυρώσουν σχέσεις σε pandas DataFrames.

Προαπαιτούμενα στοιχεία

  • Λάβετε μια συνδρομή Microsoft Fabric. Εναλλακτικά, εγγραφείτε για μια δωρεάν δοκιμαστική έκδοση του Microsoft Fabric.

  • Εισέλθετε στο Microsoft Fabric.

  • Χρησιμοποιήστε την εναλλαγή εμπειρίας στην αριστερή πλευρά της αρχικής σελίδας σας για να μεταβείτε στην εμπειρία Synapse Data Science.

    Στιγμιότυπο οθόνης του μενού εναλλαγής εμπειρίας, που εμφανίζει πού μπορείτε να επιλέξετε Επιστήμη δεδομένων.

  • Δημιουργήστε ένα νέο σημειωματάριο για αντιγραφή/επικόλληση κώδικα σε κελιά.

  • Για το Spark 3.4 και νεότερες εκδόσεις, η σημασιολογική σύνδεση είναι διαθέσιμη στον προεπιλεγμένο χρόνο εκτέλεσης όταν χρησιμοποιείτε το Fabric και δεν χρειάζεται να την εγκαταστήσετε. Για το Spark 3.3 ή παρακάτω ή για ενημέρωση στην πιο πρόσφατη έκδοση της σημασιολογικής σύνδεσης, εκτελέστε την ακόλουθη εντολή:

    %pip install -U semantic-link
    
  • Προσθέστε μια λίμνη στο σημειωματάριό σας.

Παράθεση σχέσεων σε σημασιολογικά μοντέλα

Η list_relationships συνάρτηση στη sempy.fabric λειτουργική μονάδα επιστρέφει μια λίστα όλων των σχέσεων που βρίσκονται σε ένα σημασιολογικό μοντέλο Power BI. Η λίστα σάς βοηθά να κατανοήσετε τη δομή των δεδομένων σας και πώς συνδέονται διαφορετικοί πίνακες και στήλες.

Αυτή η συνάρτηση λειτουργεί χρησιμοποιώντας σημασιολογική σύνδεση για την παροχή σχολιασμένων DataFrames. Τα DataFrames περιλαμβάνουν τα απαραίτητα μετα-δεδομένα για την κατανόηση των σχέσεων εντός του μοντέλου σημασιολογίας. Τα dataFrame με σχόλια διευκολύνουν την ανάλυση της δομής του σημασιολογικού μοντέλου και τη χρήση του σε μοντέλα εκμάθησης μηχανής ή σε άλλες εργασίες ανάλυσης δεδομένων.

Για να χρησιμοποιήσετε τη list_relationships συνάρτηση, εισαγάγετε πρώτα τη sempy.fabric λειτουργική μονάδα. Στη συνέχεια, καλείτε τη συνάρτηση χρησιμοποιώντας το όνομα ή το UUID του μοντέλου σημασιολογίας Power BI, όπως φαίνεται στο παρακάτω παράδειγμα:

import sempy.fabric as fabric

fabric.list_relationships("my_dataset")

Ο προηγούμενος κώδικας καλεί τη list_relationships συνάρτηση με ένα σημασιολογικό μοντέλο Power BI που ονομάζεται my_dataset. Η συνάρτηση επιστρέφει ένα DataFrame pandas με μία γραμμή ανά σχέση, η οποία σας επιτρέπει να εξερευνήσετε και να αναλύσετε εύκολα τις σχέσεις εντός του μοντέλου σημασιολογίας.

Σημείωμα

Το σημειωματάριό σας, το σημασιολογικό μοντέλο συνόλου δεδομένων Power BI και η λίμνη μπορεί να βρίσκονται στον ίδιο χώρο εργασίας ή σε διαφορετικούς χώρους εργασίας. Από προεπιλογή, το SemPy προσπαθεί να αποκτήσει πρόσβαση στο σημασιολογικό μοντέλο σας από:

  • Ο χώρος εργασίας του lakehouse σας, εάν έχετε συνδέσει ένα lakehouse στο σημειωματάριό σας.
  • Ο χώρος εργασίας του σημειωματάριού σας, εάν δεν υπάρχει συνημμένη λίμνη.

Εάν το σημασιολογικό μοντέλο σας δεν βρίσκεται σε κανέναν από αυτούς τους χώρους εργασίας, πρέπει να καθορίσετε τον χώρο εργασίας του μοντέλου σημασιολογίας όταν καλείτε μια μέθοδο SemPy.

Απεικόνιση σχέσεων σε σημασιολογικά μοντέλα

Η plot_relationship_metadata συνάρτηση σάς βοηθά να απεικονίσετε σχέσεις σε ένα μοντέλο σημασιολογίας, ώστε να μπορείτε να κατανοήσετε καλύτερα τη δομή του μοντέλου. Αυτή η συνάρτηση δημιουργεί ένα γράφημα που εμφανίζει τις συνδέσεις μεταξύ πινάκων και στηλών. Το γράφημα διευκολύνει την κατανόηση της δομής του σημασιολογικού μοντέλου και του τρόπου με τον οποίο σχετίζονται διαφορετικά στοιχεία.

Το παρακάτω παράδειγμα δείχνει πώς μπορείτε να χρησιμοποιήσετε τη plot_relationship_metadata συνάρτηση:

import sempy.fabric as fabric
from sempy.relationships import plot_relationship_metadata

relationships = fabric.list_relationships("my_dataset")
plot_relationship_metadata(relationships)

Στον προηγούμενο κώδικα, η list_relationships συνάρτηση ανακτά τις σχέσεις στο my_dataset μοντέλο σημασιολογίας και η plot_relationship_metadata συνάρτηση δημιουργεί ένα γράφημα για την απεικόνιση των σχέσεων.

Μπορείτε να προσαρμόσετε το γράφημα ορίζοντας ποιες στήλες θα συμπεριληφθούν, καθορίζοντας τον τρόπο χειρισμού των κλειδιών που λείπουν και παρέχοντας περισσότερα χαρακτηριστικά graphviz .

Επικύρωση σχέσεων σε σημασιολογικά μοντέλα

Τώρα που έχετε κατανοήσει καλύτερα τις σχέσεις στο σημασιολογικό μοντέλο σας, μπορείτε να χρησιμοποιήσετε τη list_relationship_violations συνάρτηση για να επικυρώσετε αυτές τις σχέσεις και να εντοπίσετε τυχόν πιθανά προβλήματα ή ασυνέπειες. Η list_relationship_violations συνάρτηση σάς βοηθά να επικυρώσετε το περιεχόμενο των πινάκων σας για να εξασφαλίσετε ότι συμφωνούν με τις σχέσεις που ορίζονται στο σημασιολογικό μοντέλο σας.

Με τη χρήση αυτής της συνάρτησης, μπορείτε να αναγνωρίσετε ασυνέπειες με την καθορισμένη πολλαπλότητα σχέσεων και να αντιμετωπίσετε τυχόν προβλήματα προτού επηρεάσουν την ανάλυση δεδομένων ή τα μοντέλα εκμάθησης μηχανής.

Για να χρησιμοποιήσετε τη list_relationship_violations συνάρτηση, εισαγάγετε πρώτα τη sempy.fabric λειτουργική μονάδα και διαβάστε τους πίνακες από το σημασιολογικό μοντέλο σας. Στη συνέχεια, καλείτε τη συνάρτηση με ένα λεξικό που αντιστοιχίζει τα ονόματα πινάκων στα DataFrames με περιεχόμενο πίνακα.

Το παρακάτω παράδειγμα κώδικα δείχνει πώς μπορείτε να αναφέρετε παραβιάσεις σχέσεων:

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)

Ο προηγούμενος κώδικας καλεί τη list_relationship_violations συνάρτηση με ένα λεξικό που περιέχει τους πίνακες Πωλήσεις, Προϊόντα και Πελάτες από το my_dataset μοντέλο σημασιολογίας. Μπορείτε να προσαρμόσετε τη συνάρτηση ορίζοντας ένα όριο κάλυψης, καθορίζοντας τον τρόπο χειρισμού των κλειδιών που λείπουν και καθορίζοντας τον αριθμό των κλειδιών που λείπουν για την αναφορά.

Η συνάρτηση επιστρέφει ένα dataFrame pandas με μία γραμμή ανά παραβίαση σχέσης, επιτρέποντάς σας να εντοπίζετε και να αντιμετωπίζετε εύκολα τυχόν προβλήματα στο μοντέλο σημασιολογίας. Χρησιμοποιώντας τη συνάρτηση, μπορείτε να εξασφαλίσετε ότι το list_relationship_violations σημασιολογικό μοντέλο σας είναι συνεπές και ακριβές, επιτρέποντάς σας να δημιουργήσετε πιο αξιόπιστα μοντέλα εκμάθησης μηχανής και να αποκτήσετε βαθύτερες πληροφορίες για τα δεδομένα σας.

Εύρεση σχέσεων σε pandas DataFrames

Ενώ οι list_relationshipsσυναρτήσεις , plot_relationships_df και list_relationship_violations στην εκπαιδευτική ενότητα Fabric είναι ισχυρά εργαλεία για την εξερεύνηση σχέσεων μέσα σε σημασιολογικά μοντέλα, μπορεί επίσης να χρειαστεί να ανακαλύψετε σχέσεις μέσα σε άλλες προελεύσεις δεδομένων που έχουν εισαχθεί ως pandas DataFrames.

Αυτό είναι το σημείο όπου η find_relationships συνάρτηση στην sempy.relationship εκπαιδευτική ενότητα μπαίνει στο παιχνίδι.

Η find_relationships συνάρτηση στην sempy.relationships εκπαιδευτική ενότητα βοηθά τους επιστήμονες δεδομένων και τους επιχειρηματικούς αναλυτές να ανακαλύψουν πιθανές σχέσεις μέσα σε μια λίστα pandas DataFrames. Με τη χρήση αυτής της συνάρτησης, μπορείτε να αναγνωρίσετε πιθανές συνδέσεις μεταξύ πινάκων και στηλών, επιτρέποντάς σας να κατανοήσετε καλύτερα τη δομή των δεδομένων σας και πώς σχετίζονται διαφορετικά στοιχεία.

Το παρακάτω παράδειγμα κώδικα δείχνει πώς μπορείτε να βρείτε σχέσεις σε pandas DataFrames:

from sempy.relationships import find_relationships

tables = [df_sales, df_products, df_customers]

find_relationships(tables)

Ο προηγούμενος κώδικας καλεί τη find_relationships συνάρτηση με μια λίστα τριών Pandas DataFrames: df_sales, df_productsκαι df_customers. Η συνάρτηση επιστρέφει ένα DataFrame pandas με μία γραμμή ανά πιθανή σχέση, η οποία σας επιτρέπει να εξερευνήσετε και να αναλύσετε εύκολα τις σχέσεις μέσα στα δεδομένα σας.

Μπορείτε να προσαρμόσετε τη συνάρτηση καθορίζοντας ένα όριο κάλυψης, ένα όριο ομοιότητας ονόματος, μια λίστα σχέσεων προς εξαίρεση και εάν θα συμπεριλάβετε σχέσεις πολλά-προς-πολλά.

Επικύρωση σχέσεων σε dataFrames pandas

Αφού εντοπίσετε πιθανές σχέσεις στα DataFrames pandas χρησιμοποιώντας τη συνάρτηση, μπορείτε να χρησιμοποιήσετε τη find_relationships list_relationship_violations συνάρτηση για να επικυρώσετε αυτές τις σχέσεις και να εντοπίσετε τυχόν πιθανά προβλήματα ή ασυνέπειες.

Η list_relationship_violations συνάρτηση επικυρώνει το περιεχόμενο των πινάκων σας για να εξασφαλίσει ότι συμφωνούν με τις σχέσεις που εντοπίστηκαν. Χρησιμοποιώντας αυτήν τη συνάρτηση για να προσδιορίσετε ασυνέπειες με την καθορισμένη πολλαπλασιασμό σχέσεων, μπορείτε να αντιμετωπίσετε τυχόν προβλήματα πριν επηρεάσουν τα μοντέλα ανάλυσης δεδομένων ή εκμάθησης μηχανής.

Το παρακάτω παράδειγμα κώδικα δείχνει πώς μπορείτε να βρείτε παραβιάσεις σχέσεων στα pandas DataFrames:

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)

Ο προηγούμενος κώδικας καλεί τη list_relationship_violations συνάρτηση με μια λίστα τριών pandas DataFrames, df_sales, df_productsκαι , καθώς και df_customersτις σχέσεις DataFrame από τη find_relationships συνάρτηση. Η list_relationship_violations συνάρτηση επιστρέφει ένα dataFrame pandas με μία γραμμή ανά παραβίαση σχέσης, επιτρέποντάς σας να εντοπίζετε και να αντιμετωπίζετε εύκολα τυχόν προβλήματα στα δεδομένα σας.

Μπορείτε να προσαρμόσετε τη συνάρτηση ορίζοντας ένα όριο κάλυψης, καθορίζοντας τον τρόπο χειρισμού των κλειδιών που λείπουν και καθορίζοντας τον αριθμό των κλειδιών που λείπουν για την αναφορά.

Χρησιμοποιώντας τη list_relationship_violations συνάρτηση με pandas DataFrames, μπορείτε να εξασφαλίσετε ότι τα δεδομένα σας είναι συνεπή και ακριβή, επιτρέποντάς σας να δημιουργήσετε πιο αξιόπιστα μοντέλα εκμάθησης μηχανής και να αποκτήσετε βαθύτερες πληροφορίες για τα δεδομένα σας.