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


Εντοπισμός, εξερεύνηση και επικύρωση λειτουργικών εξαρτήσεων στα δεδομένα σας, με χρήση σημασιολογικής σύνδεσης

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

Σε αυτό το άρθρο, θα χρησιμοποιήσετε σημασιολογική σύνδεση για:

  • Εύρεση εξαρτήσεων μεταξύ στηλών ενός FabricDataFrame
  • Απεικόνιση εξαρτήσεων
  • Αναγνώριση ζητημάτων ποιότητας δεδομένων
  • Απεικόνιση ζητημάτων ποιότητας δεδομένων
  • Επιβολή λειτουργικών περιορισμών μεταξύ στηλών σε ένα σύνολο δεδομένων

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

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

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

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

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

  • Μεταβείτε στην εμπειρία επιστήμης δεδομένων στο Microsoft Fabric.
  • Δημιουργήστε ένα νέο σημειωματάριο για αντιγραφή/επικόλληση κώδικα σε κελιά.
  • Για το Spark 3.4 και νεότερες εκδόσεις, η Σύνδεση σημασιολογίας είναι διαθέσιμη στον προεπιλεγμένο χρόνο εκτέλεσης όταν χρησιμοποιείτε το Fabric και δεν χρειάζεται να την εγκαταστήσετε. Εάν χρησιμοποιείτε το Spark 3.3 ή παρακάτω ή εάν θέλετε να ενημερώσετε την πιο πρόσφατη έκδοση της Σημασιολογικής σύνδεσης, μπορείτε να εκτελέσετε την εντολή: python %pip install -U semantic-link  
  • Προσθέστε ένα Lakehouse στο σημειωματάριό σας. Για το Spark 3.4 και νεότερες εκδόσεις, η Σύνδεση σημασιολογίας είναι διαθέσιμη στον προεπιλεγμένο χρόνο εκτέλεσης όταν χρησιμοποιείτε το Fabric και δεν χρειάζεται να την εγκαταστήσετε. Εάν χρησιμοποιείτε το Spark 3.3 ή παρακάτω ή εάν θέλετε να ενημερώσετε την πιο πρόσφατη έκδοση της Σημασιολογικής σύνδεσης, μπορείτε να εκτελέσετε την εντολή:

python %pip install -U semantic-link  

Εύρεση λειτουργικών εξαρτήσεων σε δεδομένα

Η find_dependencies συνάρτηση στο SemPy εντοπίζει λειτουργικές εξαρτήσεις μεταξύ των στηλών ενός FabricDataFrame. Η συνάρτηση χρησιμοποιεί ένα όριο στην εντροπία υπό όρους για να ανακαλύψει κατά προσέγγιση λειτουργικές εξαρτήσεις, όπου χαμηλή εντροπία υπό όρους υποδεικνύει ισχυρή εξάρτηση μεταξύ των στηλών. Για να κάνετε τη find_dependencies συνάρτηση πιο επιλεκτική, μπορείτε να ορίσετε ένα χαμηλότερο όριο στην εντροπία υπό όρους. Το χαμηλότερο όριο σημαίνει ότι θα εντοπιστούν μόνο ισχυρότερες εξαρτήσεις.

Το ακόλουθο τμήμα κώδικα Python δείχνει πώς μπορείτε να χρησιμοποιήσετε το find_dependencies.

from sempy.fabric import FabricDataFrame
from sempy.dependencies import plot_dependency_metadata
import pandas as pd


df = FabricDataFrame(pd.read_csv("your_data.csv"))

deps = df.find_dependencies()

Η find_dependencies συνάρτηση επιστρέφει ένα FabricDataFrame με εντοπιζόμενες εξαρτήσεις μεταξύ στηλών. Οι στήλες που έχουν μια αντιστοίχιση 1:1 θα αναπαρίστανται ως λίστα. Η συνάρτηση προσπαθεί επίσης να κλαδέψει τις πιθανές εξαρτήσεις καταργώντας τα μεταβατικά άκρα.

Όταν ορίζετε την dropna=True επιλογή, οι γραμμές που έχουν μια τιμή NaN σε οποιαδήποτε στήλη εξαλείφονται από την αξιολόγηση. Αυτό μπορεί να έχει ως αποτέλεσμα οι εξαρτήσεις να είναι μη μεταφρασικές, όπως στο παρακάτω παράδειγμα:

A B C
1 1 1
1 1 1
1 NaN 9
2 NaN 2
2 2 2

Σε ορισμένες περιπτώσεις, η αλυσίδα εξαρτήσεων μπορεί να σχηματίζει κύκλους όταν ορίζετε την dropna=True επιλογή, όπως φαίνεται στο παρακάτω παράδειγμα:

A B C
1 1 NaN
2 1 NaN
NaN 1 1
NaN 2 1
1 NaN 1
1 NaN 2

Απεικόνιση εξαρτήσεων σε δεδομένα

Μετά την εύρεση λειτουργικών εξαρτήσεων σε ένα σύνολο δεδομένων (με χρήση find_dependenciesτου ), μπορείτε να απεικονίσετε τις εξαρτήσεις, χρησιμοποιώντας τη plot_dependency_metadata συνάρτηση. Αυτή η συνάρτηση λαμβάνει το αρχείο FabricDataFrame από find_dependencies το και δημιουργεί μια οπτική αναπαράσταση των εξαρτήσεων μεταξύ στηλών και ομάδων στηλών.

Το ακόλουθο τμήμα κώδικα Python δείχνει πώς μπορείτε να χρησιμοποιήσετε το plot_dependencies.

from sempy.fabric import FabricDataFrame
from sempy.dependencies import plot_dependency_metadata
from sempy.samples import download_synthea

download_synthea(which='small')

df = FabricDataFrame(pd.read_csv("synthea/csv/providers.csv"))

deps = df.find_dependencies()
plot_dependency_metadata(deps)

Η plot_dependency_metadata συνάρτηση δημιουργεί μια απεικόνιση που εμφανίζει τις ομαδοποιήσεις 1:1 των στηλών. Οι στήλες που ανήκουν σε μία μόνο ομάδα τοποθετούνται σε ένα μόνο κελί. Εάν δεν βρεθούν κατάλληλοι υποψήφιοι, επιστρέφεται ένα κενό FabricDataFrame.

Στιγμιότυπο οθόνης που εμφανίζει την έξοδο της συνάρτησης plot_dependencies.

Αναγνώριση ζητημάτων ποιότητας δεδομένων

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

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

Ο παρακάτω κώδικας παρουσιάζει ένα παράδειγμα του τρόπου χρήσης της συνάρτησης list_dependency_violations :

from sempy.fabric import FabricDataFrame
from sempy.samples import download_synthea

download_synthea(which='small')

df = FabricDataFrame(pd.read_csv("synthea/csv/providers.csv"))

violations = df.list_dependency_violations(determinant_col="ZIP", dependent_col="CITY")

Σε αυτό το παράδειγμα, η συνάρτηση υποθέτει ότι υπάρχει μια λειτουργική εξάρτηση μεταξύ των στηλών ZIP (προσδιορισμός) και CITY (εξαρτώμενη). Εάν το σύνολο δεδομένων έχει προβλήματα ποιότητας δεδομένων, όπως ο ίδιος ταχυδρομικός κώδικας που έχει ανατεθεί σε πολλές πόλεις, η συνάρτηση εξάγει τις παραβασίες των τιμών:

ZIP ΠΌΛΗ πλήθος
12345 Βοστώνη 2
12345 Σιάτλ 1

Αυτή η έξοδος υποδεικνύει ότι ο ίδιος ταχυδρομικός κώδικας (12345) συνδέεται σε δύο διαφορετικές πόλεις (Βοστώνη και Σιάτλ), γεγονός που υποδηλώνει ένα ζήτημα ποιότητας δεδομένων εντός του συνόλου δεδομένων.

Η list_dependency_violations συνάρτηση παρέχει περισσότερες επιλογές για τον χειρισμό τιμών που λείπουν, εμφανίζοντας τιμές που έχουν αντιστοιχιστεί σε παραβιάσεις τιμών, περιορίζοντας τον αριθμό των παραβιάσεων που επιστρέφονται και ταξινομώντας τα αποτελέσματα κατά πλήθος ή αιτιοτικό στήλη. (TODO: Σύνδεση σε έγγραφο API)

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

Απεικόνιση ζητημάτων ποιότητας δεδομένων

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

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

Ο παρακάτω κώδικας παρουσιάζει ένα παράδειγμα του τρόπου χρήσης της συνάρτησης plot_dependency_violations :

from sempy.fabric import FabricDataFrame
from sempy.dependencies import plot_dependency_violations
from sempy.samples import download_synthea

download_synthea(which='small')

df = FabricDataFrame(pd.read_csv("synthea/csv/providers.csv"))

df.plot_dependency_violations(determinant_col="ZIP", dependent_col="CITY")

Σε αυτό το παράδειγμα, η συνάρτηση υποθέτει ότι υπάρχει μια λειτουργική εξάρτηση μεταξύ των στηλών ZIP (προσδιορισμός) και CITY (εξαρτώμενη). Εάν το σύνολο δεδομένων έχει προβλήματα ποιότητας δεδομένων, όπως ο ίδιος ταχυδρομικός κώδικας που εκχωρείται σε πολλές πόλεις, η συνάρτηση δημιουργεί ένα γράφημα με τις παραβασίες των τιμών.

Η plot_dependency_violations συνάρτηση παρέχει περισσότερες επιλογές για τον χειρισμό τιμών που λείπουν, εμφανίζοντας τιμές που έχουν αντιστοιχιστεί σε παραβιάσεις τιμών, περιορίζοντας τον αριθμό των παραβιάσεων που επιστρέφονται και ταξινομώντας τα αποτελέσματα κατά πλήθος ή αιτιοτικό στήλη. (TODO: Σύνδεση σε έγγραφο API)

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

Στιγμιότυπο οθόνης που εμφανίζει την έξοδο της συνάρτησης plot_dependency_violations.

Επιβολή λειτουργικών περιορισμών

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

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

Ο παρακάτω κώδικας παρουσιάζει ένα παράδειγμα του τρόπου χρήσης της συνάρτησης drop_dependency_violations :

from sempy.fabric import FabricDataFrame
from sempy.samples import download_synthea

download_synthea(which='small')

df = FabricDataFrame(pd.read_csv("synthea/csv/providers.csv"))

cleaned_df = df.drop_dependency_violations(determinant_col="ZIP", dependent_col="CITY")

Σε αυτό το παράδειγμα, η συνάρτηση επιβάλλει έναν λειτουργικό περιορισμό μεταξύ των στηλών ZIP (καθοριστικός) και CITY (εξαρτώμενη). Για κάθε τιμή του αιτιοκρατή, επιλέγεται η πιο κοινή τιμή του εξαρτώμενου στοιχείου και όλες οι γραμμές με άλλες τιμές απορρίπτονται. Για παράδειγμα, με βάση το παρακάτω σύνολο δεδομένων:

ZIP ΠΌΛΗ
12345 Σιάτλ
12345 Βοστώνη
12345 Βοστώνη
98765 Βαλτιμόρη
00000 Σαν Φρανσίσκο

Η γραμμή με CITY=Seattle θα καταργηθεί και η λειτουργική εξάρτηση ZIP -> CITY διατηρείται στην έξοδο.

Η drop_dependency_violations συνάρτηση παρέχει την verbose επιλογή για τον έλεγχο της verbosity της εξόδου. Ορίζοντας verbose=1το , μπορείτε να δείτε τον αριθμό των γραμμών που απορρίφθηκαν και verbose=2 σας επιτρέπει να δείτε ολόκληρο το περιεχόμενο γραμμής των γραμμών που απορρίφθηκαν.

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