Πίνακας περιεχομένων:
Βίντεο: Εισαγωγή δεδομένων από αρχεία Excel και παραδείγματα περιγραφικής στατιστικής ανάλυσης με την R 2024
Οι περισσότεροι επιστήμονες δεδομένων πρέπει να εργάζονται με δεδομένα γραφημάτων σε κάποιο σημείο. Η Python σας δίνει αυτή τη λειτουργικότητα. Φανταστείτε σημεία δεδομένων που είναι συνδεδεμένα με άλλα σημεία δεδομένων, όπως για παράδειγμα πώς μια ιστοσελίδα συνδέεται με μια άλλη ιστοσελίδα μέσω υπερσυνδέσμων. Κάθε ένα από αυτά τα σημεία δεδομένων είναι κόμβος . Οι κόμβοι συνδέονται μεταξύ τους χρησιμοποιώντας συνδέσμους .
Όχι κάθε κόμβος συνδέει σε κάθε άλλο κόμβο, έτσι οι συνδέσεις κόμβων γίνονται σημαντικές. Αν αναλύσετε τους κόμβους και τους συνδέσμους τους, μπορείτε να εκτελέσετε κάθε είδους ενδιαφέροντα καθήκοντα στην επιστήμη των δεδομένων, όπως ο καθορισμός του καλύτερου τρόπου απόκτησης εργασίας από το σπίτι σας χρησιμοποιώντας δρόμους και αυτοκινητόδρομους.
Κατανόηση της μήτρας γειτονίας
Μια μήτρα συγγένειας αντιπροσωπεύει τις συνδέσεις μεταξύ κόμβων ενός γραφήματος. Όταν υπάρχει μια σύνδεση μεταξύ ενός κόμβου και άλλου, ο πίνακας το υποδεικνύει ως τιμή μεγαλύτερη από 0. Η ακριβής αναπαράσταση των συνδέσεων στο πλέγμα εξαρτάται από το εάν το γράφημα κατευθύνεται (όπου η κατεύθυνση της σύνδεσης έχει σημασία) ή μη κατευθυνόμενη.
Ένα πρόβλημα με πολλά online παραδείγματα είναι ότι οι συγγραφείς τους κρατούν απλούς για λόγους επεξήγησης. Ωστόσο, τα γραφήματα πραγματικού κόσμου είναι συχνά τεράστια και αψηφά εύκολη ανάλυση απλά μέσω οπτικοποίησης. Απλά σκεφτείτε τον αριθμό των κόμβων που θα έβλεπε ακόμα και μια μικρή πόλη όταν σκέφτεστε τις διασταυρώσεις των δρόμων. Πολλά άλλα γραφήματα είναι πολύ μεγαλύτερα και απλά τα βλέπουμε δεν θα αποκαλύψουν ποτέ ενδιαφέροντα πρότυπα. Οι επιστήμονες δεδομένων αποκαλούν το πρόβλημα στην παρουσίαση οποιουδήποτε πολύπλοκου γραφήματος χρησιμοποιώντας έναν πίνακα adjacency .
Ένα κλειδί για την ανάλυση των πινάκων γειτνίασης είναι να τα ταξινομήσετε με συγκεκριμένους τρόπους. Για παράδειγμα, μπορείτε να επιλέξετε να ταξινομήσετε τα δεδομένα σύμφωνα με άλλες ιδιότητες εκτός από τις πραγματικές συνδέσεις. Ένα γράφημα των συνδέσεων του δρόμου μπορεί να περιλαμβάνει την ημερομηνία που ο τελευταίος δρόμος άνοιξε με τα δεδομένα, επιτρέποντάς σας να αναζητήσετε μοτίβα που κατευθύνουν κάποιον με βάση τους καλύτερους δρόμους. Εν ολίγοις, καθιστώντας χρήσιμο το γράφημα, γίνεται θέμα χειραγώγησης της οργάνωσης αυτών των δεδομένων με συγκεκριμένους τρόπους.
Χρήση βασικών στοιχείων δικτύου
Η εργασία με γραφήματα θα μπορούσε να γίνει δύσκολη αν έπρεπε να γράψετε όλο τον κώδικα από την αρχή. Ευτυχώς, το πακέτο NetworkX για Python διευκολύνει τη δημιουργία, τον χειρισμό και τη μελέτη της δομής, της δυναμικής και των λειτουργιών σύνθετων δικτύων (ή γραφημάτων). Μπορείτε να χρησιμοποιήσετε το πακέτο για να εργαστείτε με digraphs και multigraphs επίσης.
Η κύρια έμφαση του NetworkX είναι να αποφευχθεί το όλο θέμα των hairballs.Η χρήση απλών κλήσεων κρύβει μεγάλο μέρος της πολυπλοκότητας της εργασίας με γραφήματα και πίνακες γειτνίασης από την προβολή. Το παρακάτω παράδειγμα δείχνει τον τρόπο δημιουργίας ενός βασικού πίνακα συγγενείας από ένα από τα διαγράμματα που παρέχονται από το NetworkX:
εισαγωγή networkx ως nx G = nx. κύκλος_γραμματογραφίας (10) A = nx. adjacency_matrix (G) print (A. todense ())
Το παράδειγμα αρχίζει με την εισαγωγή του απαιτούμενου πακέτου. Στη συνέχεια, δημιουργεί ένα γράφημα χρησιμοποιώντας το πρότυπο cycle_graph (). Το γράφημα περιέχει δέκα κόμβους. Η κλήση adjacency_matrix () δημιουργεί τον πίνακα adjacency από το γράφημα. Το τελικό βήμα είναι να εκτυπώσετε την έξοδο ως μήτρα, όπως φαίνεται εδώ:
[0 1 0 0 0 0 0 0 0 1] [1 0 1 0 0 0 0 0 0 0] [0 1 0 1 0 0 0 0 0 0] [0 0 0 0 0 0 0 0 0 0] [0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0] [0 0 0 0 0 0 1 0 1 0] [0 0 0 0 0 0 0 1 0 1] [1 0 0 0 0 0 0 0 1 0]]
Δεν χρειάζεται να δημιουργήστε το δικό σας γράφημα από το μηδέν για σκοπούς δοκιμής. Η τοποθεσία NetworkX εγγράφει έναν αριθμό τυπικών τύπων γραφημάτων που μπορείτε να χρησιμοποιήσετε, τα οποία είναι διαθέσιμα στο IPython.
Είναι ενδιαφέρον να δούμε πώς βλέπει το γράφημα αφού το δημιουργήσετε. Ο παρακάτω κώδικας εμφανίζει το γράφημα για εσάς.
Σχεδίαση του αρχικού γραφήματος.εισαγωγή matplotlib. pyplot ως plt nx. draw_networkx (G) plt. show ()
Το γράφημα δείχνει ότι μπορείτε να προσθέσετε μια άκρη μεταξύ των κόμβων 1 και 5. Εδώ είναι ο κώδικας που απαιτείται για την εκτέλεση αυτής της εργασίας χρησιμοποιώντας τη συνάρτηση add_edge ().
Σχεδίαση της προσθήκης γραφήματος.G. add_edge (1, 5) nx. draw_networkx (G) plt. εμφάνιση ()