Σήμερα, ο πιο πολύτιμος πόρος στον κόσμο δεν είναι πλέον το πετρέλαιο, αλλά τα δεδομένα. Η οπτικοποίηση γίνεται πιο σημαντικό εργαλείο για την κατανόηση των δισεκατομμυρίων σειρών δεδομένων. Με τη μετάφραση των δεδομένων σε μια γραφική αναπαράσταση που είναι εύκολη στην ερμηνεία, η οπτικοποίηση δεδομένων βοηθά στην αφήγηση δεδομένων, επισημαίνοντας σχετικές πληροφορίες, μοτίβα και ακραίες τιμές. Ωστόσο, τα δεδομένα και τα γραφικά πρέπει να συνεργάζονται: Είναι η τέχνη της ενσωμάτωσης εξαιρετικής ανάλυσης με εξαιρετική αφήγηση. Σε αυτήν την ανάρτηση ιστολογίου, θα σας δείξουμε το "Sea Born", ένα από τα πιο γνωστά εργαλεία οπτικοποίησης γραμμένα σε Python.
Εργαλεία οπτικοποίησης
Χρησιμοποιούμε εργαλεία οπτικοποίησης για να οπτικοποιήσουμε τις τάσεις, τα μοτίβα, τις ακραίες τιμές και τη σχέση μεταξύ των μεταβλητών. Είναι μια δεξιότητα υψηλής ζήτησης ειδικά για μια καριέρα στην επιστήμη δεδομένων.
Seaborn
Το Seaborn είναι μια βιβλιοθήκη οπτικοποίησης δεδομένων Python που βασίζεται στοmatplotlib. Παρέχει μια διεπαφή υψηλού επιπέδου για τη σχεδίαση ελκυστικών και ενημερωτικών στατιστικών γραφικών.
Συναρτήσεις σχεδίασης Seaborn:
Στη seaborn έχουμε 3 κατηγορίες οικοπέδων
-
Κατηγορικά οικόπεδα.
-
Οικόπεδα διανομής.
-
Σχεσιακές πλοκές.
Κατηγορικά οικόπεδα
Χρησιμοποιούμε τις κατηγορικές συναρτήσεις σχεδίασης του seaborn για να οπτικοποιήσουμε τις τάσεις μιας κατηγορικής μεταβλητής ή για να οπτικοποιήσουμε τη σχέση μεταξύ δύο μεταβλητών με τουλάχιστον μία κατηγορική.
Μέτρηση πλοκής:
- Εμφανίζει τα πλήθη των παρατηρήσεων κάθε κατηγορίας από την κατηγορική μεταβλητή. Απλώς μετράμε τον αριθμό των παρατηρήσεων κάθε κατηγορίας της μεταβλητής
seaborn.catplot(kind = 'count',
data = dataset,
x = 'variable')
Οικόπεδο σε μπαρ:
-
Αντιπροσωπεύει μια εκτίμηση της τάσης μιας συνεχούς μεταβλητής με το ύψος του ορθογωνίου για κάθε κατηγορία μιας κατηγορικής μεταβλητής. Έτσι, η συνάρτηση γραφικής παράστασης παίρνει δύο μεταβλητές ως είσοδο, μία που είναι συνεχής και μία που είναι κατηγορική. Για κάθε κατηγορία από τη variable_1, υπολογίζουμε την τάση της variable_2.
-
Η τάση μπορεί να είναι ο μέσος όρος, η διακύμανση ή μπορείτε να περάσετε κάποια προσαρμοσμένη συνάρτηση…
seaborn.catplot(kind = 'bar',**data = dataset,**
x = 'variable_1',**y = 'variable_2',**
estimator = np.mean)**
Οικόπεδο:
- Η γραφική παράσταση λωρίδας είναι μια από τις απλούστερες και πιο απλές γραφικές παραστάσεις στην οπτικοποίηση δεδομένων, σχεδιάζουμε απλώς σημεία που αντιπροσωπεύουν τις τιμές μιας συνεχούς μεταβλητής. Για κάθε κατηγορία της Μεταβλητής 1, θα σχεδιάσουμε τις τιμές της Μεταβλητής 2.
seaborn.catplot(kind = 'strip',
data = dataset,
x = 'variable_1',
y = 'variable_2',
jitter = 0.15)
Οικόπεδο σμήνους:
-
Το Swarm plot μοιάζει τόσο με το strip plot, αφού έχει ακριβώς την ίδια λειτουργικότητα. Η μόνη διαφορά είναι στο πώς εμφανίζει τους πόντους. Ενώ στην γραφική παράσταση ταινιών, τα σημεία δεδομένων μπορεί να επικαλύπτονται αφού τοποθετούνται τυχαία στον άξονα x, στο σμήνος γραφικό διασφαλίζουμε ότι τα σημεία δεν θα επικαλύπτονται στοιβάζοντάς τα το ένα πάνω στο άλλο.
-
Το μειονέκτημα εδώ είναι ότι εάν έχουμε πολλά σημεία δεδομένων, θα ήταν αδύνατο να μην τα επικαλύπτουμε, επομένως ο αλγόριθμος θα διαγράψει ορισμένα σημεία δεδομένων για να μην επικαλύπτονται.
seaborn.catplot(kind = 'swarm',
data = dataset,
x = 'variable_1',
y = 'variable_2')
Οικόπεδο κουτιού:
-
Το διάγραμμα πλαισίου χρησιμοποιείται για να αναπαραστήσει την κατανομή μιας συνεχούς μεταβλητής για κάθε κατηγορία μιας κατηγορικής μεταβλητής. Παρόλο που είναι αρκετά απλό, παρέχει πολλές πληροφορίες:
-
Οι τιμές των τεταρτημορίων:
Το κουτί έχει μια οριζόντια γραμμή μέσα, η οποία αντιπροσωπεύει τη διάμεσο. Η οριζόντια γραμμή πάνω είναι τα πάνω τεταρτημόρια, η κάτω από αυτήν είναι τα κάτω τεταρτημόρια.
- Οι ακραίες τιμές:
Παρατηρήστε ότι υπάρχουν μερικά σημεία έξω από το πλαίσιο, αυτά τα σημεία αντιπροσωπεύουν τις ακραίες τιμές
seaborn.catplot(kind = 'box',
data = dataset,
x = 'variable_1',
y = 'variable_2')
Οικόπεδο βιολιού:
Αντί να σχεδιάσει το πλαίσιο διανομής, η γραφική παράσταση βιολιού θα σχεδιάσει την πραγματική κατανομή της συνεχούς μεταβλητής για κάθε κατηγορία της κατηγορικής μεταβλητής χρησιμοποιώντας το KDE (Εκτίμηση πυκνότητας πυρήνα)
seaborn.catplot(kind = 'violin',
data = dataset,
x = 'variable_1',
y = 'variable_2')
Οικόπεδα διανομής:
Χρησιμοποιούμε τις συναρτήσεις σχεδίασης κατανομής του seaborn για να απεικονίσουμε την κατανομή συνεχών μεταβλητών.
Η πλοκή του:
Η γραφική παράσταση ιστορικού αντιπροσωπεύει την κατανομή συνεχών μεταβλητών χρησιμοποιώντας bins.
seaborn.distplot(kind = 'hist',
data = dataset,
x = 'variable',
bins = 20)
Σχήμα KDE:
Το γράφημα Kde αντιπροσωπεύει την πραγματική κατανομή των δεδομένων, χρησιμοποιώντας την εκτίμηση πυκνότητας πυρήνα.
seaborn.distplot(kind = 'kde',
data = dataset,
x = 'variable')
Μπορεί επίσης να χρησιμοποιηθεί για την αναπαράσταση της διμεταβλητής κατανομής δύο συνεχών μεταβλητών.
seaborn.distplot(kind = 'kde',
data = dataset,
x = 'variable_1',
y = 'variable_2')
Οικόπεδο ECDF:
Η γραφική παράσταση ECDF αντιπροσωπεύει την εμπειρική αθροιστική κατανομή μιας συνεχούς μεταβλητής.
seaborn.distplot(kind = 'ecdf',
data = dataset,
x = 'variable')
Σχετικές πλοκές:
Χρησιμοποιούμε τις σχεσιακές συναρτήσεις σχεδίασης του seaborn για να απεικονίσουμε τη σχέση μεταξύ συνεχών μεταβλητών.
Διάγραμμα διασποράς:
- Δείχνει τη σχέση μεταξύ δύο συνεχών μεταβλητών, απλά σχεδιάζοντας όλα τα σημεία δεδομένων.
seaborn.relplot(kind = 'scatter',
data = dataset,
x = 'variable_1',
y = 'variable_2')
Οικόπεδο γραμμής:
- Αντιπροσωπεύει τη σχέση μεταξύ μεταβλητών ως συνεχή συνάρτηση.
seaborn.relplot(kind = 'line',
data = dataset,
x = 'variable_1',
y = 'variable_2')
Περισσότερες λειτουργίες:
Ίσως έχετε παρατηρήσει ότι σε όλες τις συναρτήσεις σχεδίασης χρησιμοποιούσαμε έως δύο μεταβλητές ανά γραφική παράσταση, αλλά τι γίνεται αν θέλουμε να εισαγάγουμε περισσότερες μεταβλητές στην οπτικοποίηση μας; Ευτυχώς ο Seaborn φρόντισε για αυτό:
Απόχρωση:
- Χρησιμοποιώντας το hue μπορούμε να εισαγάγουμε μια 3η μεταβλητή που είναι κατηγορηματική στην οπτικοποίηση μας χρησιμοποιώντας χρωματική κωδικοποίηση, σημαίνει ότι τα σημεία δεδομένων που ανήκουν στην ίδια κατηγορία αυτής της 3ης μεταβλητής θα έχουν το ίδιο χρώμα.
seaborn.relplot(kind = 'scatter',
data = dataset,
x = 'variable_1',
y = 'variable_2',
hue = 'variable_3')
Μέγεθος:
- Το μέγεθος είναι παρόμοιο με την απόχρωση, αλλά χρησιμοποιεί κωδικοποίηση μεγέθους αντί για έγχρωμη κωδικοποίηση. Σημαίνει ότι τα σημεία δεδομένων που ανήκουν στην ίδια κατηγορία της 3ης μεταβλητής θα έχουν το ίδιο μοναδικό μέγεθος. Διαφορετικά μεγέθη σημαίνει διαφορετικές κατηγορίες.
seaborn.relplot(kind = 'scatter',
data = dataset,
x = 'variable_1',
y = 'variable_2',
size = 'variable_3',
sizes = [50, 100])
Στυλ:
- Σχεδόν το ίδιο πράγμα με το Hue και το Size, Σημαίνει ότι τα σημεία δεδομένων που ανήκουν στην ίδια κατηγορία της 3ης μεταβλητής θα έχουν το ίδιο μοναδικό στυλ. Ένα στυλ σημείου μπορεί να είναι μια τελεία, ένα αστέρι, ένας σταυρός, ένα τρίγωνο, ... τα ονομάζουμε δείκτες.
seaborn.relplot(kind = 'scatter',
data = dataset,
x = 'variable_1',
y = 'variable_2',
style = 'variable_3',
markers = ['X', '*'])
Μπορούμε επίσης να εισαγάγουμε μια νέα κατηγορική μεταβλητή χρησιμοποιώντας πολλαπλά διαγράμματα, κάθε διάγραμμα ανήκει σε μια κατηγορία από τη μεταβλητή κατηγορίας:
Διάσελο:
Θα δημιουργήσει πολλά σχήματα οριζόντια σε σχέση με τις κατηγορίες της 3ης μεταβλητής.
seaborn.relplot(kind = 'scatter',
data = dataset,
x = 'variable_1',
y = 'variable_2',
col = 'variable_3')
Σειρά:
Θα δημιουργήσει πολλά σχήματα κάθετα σε σχέση με τις κατηγορίες της 3ης μεταβλητής.
seaborn.relplot(kind = 'scatter',
data = dataset,
x = 'variable_1',
y = 'variable_2',
row = 'variable_3')
Μπορούμε επίσης να χρησιμοποιήσουμε Hue και Size στην ίδια γραφική παράσταση, για να αναπαραστήσουμε 4 μεταβλητές, ή ακόμα και Hue και Style και Col, για να χρησιμοποιήσουμε 5 μεταβλητές στην ίδια γραφική παράσταση! Μπορούμε να χρησιμοποιήσουμε έως και 7 μεταβλητές (μεταβλητή 1, μεταβλητή 2, Hue, Size, Style, Col, Row ) στην ίδια γραφική παράσταση, αλλά θα μας δώσει μια πολύ φορτισμένη γραφική παράσταση που είναι τόσο ακατάστατη και εξαιρετικά δύσκολη στην ερμηνεία, μερικές φορές όχι ενημερωτικό καθόλου.
seaborn.relplot(kind = 'scatter',
data = dataset,
x = 'variable_1',
y = 'variable_2',
hue = 'variable_3',
size = 'variable_4')
Συμπέρασμα:
Σε αυτήν την ανάρτηση, μάθαμε για το seaborn, τις 3 κατηγορίες συναρτήσεων σχεδίασης: Κατηγορικές, Κατανομές και Σχεσιακές γραφικές παραστάσεις, και εξηγήσαμε κάθε συνάρτηση σχεδίασης για κάθε κατηγορία, μαζί με τον κώδικα python.
Ρίξτε μια ματιά στο Data Science Bootcamp για να μάθετε περισσότερα σχετικά με αυτό το θέμα!