37 KiB
Εργασία με Δεδομένα: Python και η Βιβλιοθήκη Pandas
![]() |
---|
Εργασία με Python - Σκίτσο από @nitya |
Ενώ οι βάσεις δεδομένων προσφέρουν πολύ αποτελεσματικούς τρόπους αποθήκευσης δεδομένων και ερωτημάτων μέσω γλωσσών ερωτημάτων, ο πιο ευέλικτος τρόπος επεξεργασίας δεδομένων είναι η δημιουργία του δικού σας προγράμματος για την επεξεργασία τους. Σε πολλές περιπτώσεις, η χρήση ερωτημάτων βάσης δεδομένων είναι πιο αποτελεσματική. Ωστόσο, σε ορισμένες περιπτώσεις όπου απαιτείται πιο σύνθετη επεξεργασία δεδομένων, αυτό δεν μπορεί να γίνει εύκολα με SQL. Η επεξεργασία δεδομένων μπορεί να προγραμματιστεί σε οποιαδήποτε γλώσσα προγραμματισμού, αλλά υπάρχουν ορισμένες γλώσσες που είναι πιο κατάλληλες για εργασία με δεδομένα. Οι επιστήμονες δεδομένων συνήθως προτιμούν μία από τις παρακάτω γλώσσες:
- Python, μια γλώσσα προγραμματισμού γενικού σκοπού, η οποία θεωρείται συχνά μία από τις καλύτερες επιλογές για αρχάριους λόγω της απλότητάς της. Η Python διαθέτει πολλές πρόσθετες βιβλιοθήκες που μπορούν να σας βοηθήσουν να λύσετε πολλά πρακτικά προβλήματα, όπως η εξαγωγή δεδομένων από αρχεία ZIP ή η μετατροπή εικόνων σε ασπρόμαυρες. Εκτός από την επιστήμη δεδομένων, η Python χρησιμοποιείται επίσης συχνά για ανάπτυξη ιστοσελίδων.
- R είναι ένα παραδοσιακό εργαλείο που αναπτύχθηκε με γνώμονα την επεξεργασία στατιστικών δεδομένων. Περιέχει επίσης μια μεγάλη αποθήκη βιβλιοθηκών (CRAN), καθιστώντας το μια καλή επιλογή για επεξεργασία δεδομένων. Ωστόσο, το R δεν είναι γλώσσα γενικού σκοπού και σπάνια χρησιμοποιείται εκτός του τομέα της επιστήμης δεδομένων.
- Julia είναι μια άλλη γλώσσα που αναπτύχθηκε ειδικά για την επιστήμη δεδομένων. Σκοπός της είναι να προσφέρει καλύτερη απόδοση από την Python, καθιστώντας την ένα εξαιρετικό εργαλείο για επιστημονικά πειράματα.
Σε αυτό το μάθημα, θα επικεντρωθούμε στη χρήση της Python για απλή επεξεργασία δεδομένων. Θα υποθέσουμε ότι έχετε βασική εξοικείωση με τη γλώσσα. Εάν θέλετε μια πιο βαθιά περιήγηση στην Python, μπορείτε να ανατρέξετε σε μία από τις παρακάτω πηγές:
- Μάθετε Python με Διασκεδαστικό Τρόπο χρησιμοποιώντας Turtle Graphics και Fractals - Γρήγορο εισαγωγικό μάθημα στην Python μέσω GitHub
- Κάντε τα Πρώτα σας Βήματα με την Python Μονοπάτι Μάθησης στο Microsoft Learn
Τα δεδομένα μπορούν να έχουν πολλές μορφές. Σε αυτό το μάθημα, θα εξετάσουμε τρεις μορφές δεδομένων - πίνακες δεδομένων, κείμενο και εικόνες.
Θα επικεντρωθούμε σε μερικά παραδείγματα επεξεργασίας δεδομένων, αντί να σας δώσουμε μια πλήρη επισκόπηση όλων των σχετικών βιβλιοθηκών. Αυτό θα σας επιτρέψει να κατανοήσετε τις βασικές δυνατότητες και να αποκτήσετε μια ιδέα για το πού να βρείτε λύσεις στα προβλήματά σας όταν τις χρειαστείτε.
Η πιο χρήσιμη συμβουλή. Όταν χρειάζεται να εκτελέσετε μια συγκεκριμένη λειτουργία σε δεδομένα και δεν ξέρετε πώς να το κάνετε, δοκιμάστε να το αναζητήσετε στο διαδίκτυο. Το Stackoverflow περιέχει συνήθως πολλά χρήσιμα δείγματα κώδικα σε Python για πολλές τυπικές εργασίες.
Προ-μάθημα κουίζ
Πίνακες Δεδομένων και Dataframes
Έχετε ήδη συναντήσει πίνακες δεδομένων όταν μιλήσαμε για σχεσιακές βάσεις δεδομένων. Όταν έχετε πολλά δεδομένα που περιέχονται σε διαφορετικούς συνδεδεμένους πίνακες, είναι σίγουρα λογικό να χρησιμοποιήσετε SQL για να εργαστείτε με αυτά. Ωστόσο, υπάρχουν πολλές περιπτώσεις όπου έχουμε έναν πίνακα δεδομένων και πρέπει να αποκτήσουμε κάποια κατανόηση ή συμπεράσματα σχετικά με αυτά τα δεδομένα, όπως η κατανομή, η συσχέτιση μεταξύ τιμών κ.λπ. Στην επιστήμη δεδομένων, υπάρχουν πολλές περιπτώσεις όπου πρέπει να εκτελέσουμε κάποιες μετασχηματισμούς των αρχικών δεδομένων, ακολουθούμενες από οπτικοποίηση. Και τα δύο αυτά βήματα μπορούν να γίνουν εύκολα χρησιμοποιώντας Python.
Υπάρχουν δύο πιο χρήσιμες βιβλιοθήκες στην Python που μπορούν να σας βοηθήσουν να χειριστείτε πίνακες δεδομένων:
- Pandas σας επιτρέπει να χειρίζεστε τα λεγόμενα Dataframes, τα οποία είναι ανάλογα με τους σχεσιακούς πίνακες. Μπορείτε να έχετε ονομασμένες στήλες και να εκτελείτε διάφορες λειτουργίες σε γραμμές, στήλες και dataframes γενικά.
- Numpy είναι μια βιβλιοθήκη για εργασία με tensors, δηλαδή πολυδιάστατους πίνακες. Ο πίνακας έχει τιμές του ίδιου υποκείμενου τύπου και είναι απλούστερος από το dataframe, αλλά προσφέρει περισσότερες μαθηματικές λειτουργίες και δημιουργεί λιγότερη επιβάρυνση.
Υπάρχουν επίσης μερικές άλλες βιβλιοθήκες που πρέπει να γνωρίζετε:
- Matplotlib είναι μια βιβλιοθήκη που χρησιμοποιείται για οπτικοποίηση δεδομένων και σχεδίαση γραφημάτων
- SciPy είναι μια βιβλιοθήκη με ορισμένες πρόσθετες επιστημονικές λειτουργίες. Έχουμε ήδη συναντήσει αυτήν τη βιβλιοθήκη όταν μιλήσαμε για πιθανότητες και στατιστική
Ακολουθεί ένα κομμάτι κώδικα που θα χρησιμοποιούσατε συνήθως για να εισάγετε αυτές τις βιβλιοθήκες στην αρχή του προγράμματος Python:
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
from scipy import ... # you need to specify exact sub-packages that you need
Η Pandas επικεντρώνεται σε μερικές βασικές έννοιες.
Series
Series είναι μια ακολουθία τιμών, παρόμοια με μια λίστα ή έναν πίνακα numpy. Η κύρια διαφορά είναι ότι το series έχει επίσης έναν δείκτη, και όταν εκτελούμε λειτουργίες σε series (π.χ., προσθέτουμε), ο δείκτης λαμβάνεται υπόψη. Ο δείκτης μπορεί να είναι τόσο απλός όσο ένας ακέραιος αριθμός γραμμής (είναι ο δείκτης που χρησιμοποιείται από προεπιλογή όταν δημιουργούμε ένα series από λίστα ή πίνακα), ή μπορεί να έχει μια πιο σύνθετη δομή, όπως ένα χρονικό διάστημα.
Σημείωση: Υπάρχει εισαγωγικός κώδικας Pandas στο συνοδευτικό notebook
notebook.ipynb
. Εδώ παραθέτουμε μόνο μερικά παραδείγματα και σίγουρα μπορείτε να ελέγξετε το πλήρες notebook.
Ας δούμε ένα παράδειγμα: θέλουμε να αναλύσουμε τις πωλήσεις του καταστήματος παγωτού μας. Ας δημιουργήσουμε μια σειρά αριθμών πωλήσεων (αριθμός αντικειμένων που πωλήθηκαν κάθε μέρα) για μια χρονική περίοδο:
start_date = "Jan 1, 2020"
end_date = "Mar 31, 2020"
idx = pd.date_range(start_date,end_date)
print(f"Length of index is {len(idx)}")
items_sold = pd.Series(np.random.randint(25,50,size=len(idx)),index=idx)
items_sold.plot()
Τώρα υποθέστε ότι κάθε εβδομάδα οργανώνουμε ένα πάρτι για φίλους και παίρνουμε επιπλέον 10 πακέτα παγωτού για το πάρτι. Μπορούμε να δημιουργήσουμε μια άλλη σειρά, με δείκτη εβδομάδας, για να το δείξουμε:
additional_items = pd.Series(10,index=pd.date_range(start_date,end_date,freq="W"))
Όταν προσθέτουμε δύο σειρές μαζί, παίρνουμε το συνολικό αριθμό:
total_items = items_sold.add(additional_items,fill_value=0)
total_items.plot()
Σημείωση ότι δεν χρησιμοποιούμε απλή σύνταξη
total_items+additional_items
. Εάν το κάναμε, θα λαμβάναμε πολλές τιμέςNaN
(Not a Number) στη σειρά που προκύπτει. Αυτό συμβαίνει επειδή υπάρχουν ελλείπουσες τιμές για ορισμένα σημεία δείκτη στη σειράadditional_items
, και η προσθήκηNaN
σε οτιδήποτε έχει ως αποτέλεσμαNaN
. Έτσι, πρέπει να καθορίσουμε την παράμετροfill_value
κατά την πρόσθεση.
Με τις χρονικές σειρές, μπορούμε επίσης να επαναδειγματίσουμε τη σειρά με διαφορετικά χρονικά διαστήματα. Για παράδειγμα, υποθέστε ότι θέλουμε να υπολογίσουμε τον μέσο όγκο πωλήσεων μηνιαίως. Μπορούμε να χρησιμοποιήσουμε τον ακόλουθο κώδικα:
monthly = total_items.resample("1M").mean()
ax = monthly.plot(kind='bar')
DataFrame
Ένα DataFrame είναι ουσιαστικά μια συλλογή από σειρές με τον ίδιο δείκτη. Μπορούμε να συνδυάσουμε πολλές σειρές μαζί σε ένα DataFrame:
a = pd.Series(range(1,10))
b = pd.Series(["I","like","to","play","games","and","will","not","change"],index=range(0,9))
df = pd.DataFrame([a,b])
Αυτό θα δημιουργήσει έναν οριζόντιο πίνακα όπως αυτόν:
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | |
---|---|---|---|---|---|---|---|---|---|
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 |
1 | I | like | to | use | Python | and | Pandas | very | much |
Μπορούμε επίσης να χρησιμοποιήσουμε σειρές ως στήλες και να καθορίσουμε ονόματα στηλών χρησιμοποιώντας λεξικό:
df = pd.DataFrame({ 'A' : a, 'B' : b })
Αυτό θα μας δώσει έναν πίνακα όπως αυτόν:
A | B | |
---|---|---|
0 | 1 | I |
1 | 2 | like |
2 | 3 | to |
3 | 4 | use |
4 | 5 | Python |
5 | 6 | and |
6 | 7 | Pandas |
7 | 8 | very |
8 | 9 | much |
Σημείωση ότι μπορούμε επίσης να πάρουμε αυτήν τη διάταξη πίνακα μεταθέτοντας τον προηγούμενο πίνακα, π.χ. γράφοντας
df = pd.DataFrame([a,b]).T..rename(columns={ 0 : 'A', 1 : 'B' })
Εδώ .T
σημαίνει τη λειτουργία της μετάθεσης του DataFrame, δηλαδή την αλλαγή γραμμών και στηλών, και η λειτουργία rename
μας επιτρέπει να μετονομάσουμε τις στήλες ώστε να ταιριάζουν με το προηγούμενο παράδειγμα.
Ακολουθούν μερικές από τις πιο σημαντικές λειτουργίες που μπορούμε να εκτελέσουμε σε DataFrames:
Επιλογή στηλών. Μπορούμε να επιλέξουμε μεμονωμένες στήλες γράφοντας df['A']
- αυτή η λειτουργία επιστρέφει μια σειρά. Μπορούμε επίσης να επιλέξουμε ένα υποσύνολο στηλών σε ένα άλλο DataFrame γράφοντας df[['B','A']]
- αυτό επιστρέφει ένα άλλο DataFrame.
Φιλτράρισμα μόνο ορισμένων γραμμών βάσει κριτηρίων. Για παράδειγμα, για να αφήσουμε μόνο γραμμές με στήλη A
μεγαλύτερη από 5, μπορούμε να γράψουμε df[df['A']>5]
.
Σημείωση: Ο τρόπος που λειτουργεί το φιλτράρισμα είναι ο εξής. Η έκφραση
df['A']<5
επιστρέφει μια σειρά boolean, η οποία υποδεικνύει αν η έκφραση είναιTrue
ήFalse
για κάθε στοιχείο της αρχικής σειράςdf['A']
. Όταν η σειρά boolean χρησιμοποιείται ως δείκτης, επιστρέφει υποσύνολο γραμμών στο DataFrame. Έτσι, δεν είναι δυνατό να χρησιμοποιήσετε αυθαίρετες εκφράσεις boolean της Python, για παράδειγμα, γράφονταςdf[df['A']>5 and df['A']<7]
θα ήταν λάθος. Αντίθετα, θα πρέπει να χρησιμοποιήσετε την ειδική λειτουργία&
στις σειρές boolean, γράφονταςdf[(df['A']>5) & (df['A']<7)]
(οι παρενθέσεις είναι σημαντικές εδώ).
Δημιουργία νέων υπολογίσιμων στηλών. Μπορούμε εύκολα να δημιουργήσουμε νέες υπολογίσιμες στήλες για το DataFrame μας χρησιμοποιώντας διαισθητικές εκφράσεις όπως αυτή:
df['DivA'] = df['A']-df['A'].mean()
Αυτό το παράδειγμα υπολογίζει την απόκλιση της A από την μέση τιμή της. Αυτό που συμβαίνει εδώ είναι ότι υπολογίζουμε μια σειρά και στη συνέχεια την αναθέτουμε στην αριστερή πλευρά, δημιουργώντας μια άλλη στήλη. Έτσι, δεν μπορούμε να χρησιμοποιήσουμε λειτουργίες που δεν είναι συμβατές με σειρές, για παράδειγμα, ο παρακάτω κώδικας είναι λάθος:
# Wrong code -> df['ADescr'] = "Low" if df['A'] < 5 else "Hi"
df['LenB'] = len(df['B']) # <- Wrong result
Το τελευταίο παράδειγμα, ενώ είναι συντακτικά σωστό, μας δίνει λάθος αποτέλεσμα, επειδή αναθέτει το μήκος της σειράς B
σε όλες τις τιμές της στήλης και όχι το μήκος των μεμονωμένων στοιχείων όπως σκοπεύαμε.
Εάν χρειάζεται να υπολογίσουμε σύνθετες εκφράσεις όπως αυτή, μπορούμε να χρησιμοποιήσουμε τη λειτουργία apply
. Το τελευταίο παράδειγμα μπορεί να γραφτεί ως εξής:
df['LenB'] = df['B'].apply(lambda x : len(x))
# or
df['LenB'] = df['B'].apply(len)
Μετά τις παραπάνω λειτουργίες, θα καταλήξουμε στο ακόλουθο DataFrame:
A | B | DivA | LenB | |
---|---|---|---|---|
0 | 1 | I | -4.0 | 1 |
1 | 2 | like | -3.0 | 4 |
2 | 3 | to | -2.0 | 2 |
3 | 4 | use | -1.0 | 3 |
4 | 5 | Python | 0.0 | 6 |
5 | 6 | and | 1.0 | 3 |
6 | 7 | Pandas | 2.0 | 6 |
7 | 8 | very | 3.0 | 4 |
8 | 9 | much | 4.0 | 4 |
Επιλογή γραμμών βάσει αριθμών μπορεί να γίνει χρησιμοποιώντας τη δομή iloc
. Για παράδειγμα, για να επιλέξουμε τις πρώτες 5 γραμμές από το DataFrame:
df.iloc[:5]
Ομαδοποίηση χρησιμοποιείται συχνά για να πάρουμε ένα αποτέλεσμα παρόμοιο με πίνακες περιστροφής στο Excel. Υποθέστε ότι θέλουμε να υπολογίσουμε τη μέση τιμή της στήλης A
για κάθε δεδομένο αριθμό του LenB
. Τότε μπορούμε να ομαδοποιήσουμε το DataFrame μας με βάση το LenB
και να καλέσουμε τη λειτουργία mean
:
df.groupby(by='LenB')[['A','DivA']].mean()
Εάν χρειάζεται να υπολογίσουμε τη μέση τιμή και τον αριθμό των στοιχείων στην ομάδα, τότε μπορούμε να χρησιμοποιήσουμε την πιο σύνθετη λειτουργία Έχουμε δει πόσο εύκολο είναι να δημιουργήσουμε Series και DataFrames από αντικείμενα της Python. Ωστόσο, τα δεδομένα συνήθως έρχονται με τη μορφή ενός αρχείου κειμένου ή ενός πίνακα Excel. Ευτυχώς, η Pandas μας προσφέρει έναν απλό τρόπο να φορτώσουμε δεδομένα από τον δίσκο. Για παράδειγμα, η ανάγνωση ενός αρχείου CSV είναι τόσο απλή όσο το εξής:
df = pd.read_csv('file.csv')
Θα δούμε περισσότερα παραδείγματα φόρτωσης δεδομένων, συμπεριλαμβανομένης της ανάκτησής τους από εξωτερικούς ιστότοπους, στην ενότητα "Πρόκληση".
Εκτύπωση και Οπτικοποίηση
Ένας Data Scientist συχνά πρέπει να εξερευνήσει τα δεδομένα, επομένως είναι σημαντικό να μπορεί να τα οπτικοποιήσει. Όταν το DataFrame είναι μεγάλο, πολλές φορές θέλουμε απλώς να βεβαιωθούμε ότι κάνουμε τα πάντα σωστά εκτυπώνοντας τις πρώτες λίγες γραμμές. Αυτό μπορεί να γίνει καλώντας τη μέθοδο df.head()
. Αν το εκτελείτε από το Jupyter Notebook, θα εμφανίσει το DataFrame σε μια ωραία ταμπελική μορφή.
Έχουμε επίσης δει τη χρήση της συνάρτησης plot
για την οπτικοποίηση ορισμένων στηλών. Ενώ η plot
είναι πολύ χρήσιμη για πολλές εργασίες και υποστηρίζει πολλούς διαφορετικούς τύπους γραφημάτων μέσω της παραμέτρου kind=
, μπορείτε πάντα να χρησιμοποιήσετε τη βιβλιοθήκη matplotlib
για να σχεδιάσετε κάτι πιο περίπλοκο. Θα καλύψουμε την οπτικοποίηση δεδομένων λεπτομερώς σε ξεχωριστά μαθήματα.
Αυτή η επισκόπηση καλύπτει τις πιο σημαντικές έννοιες της Pandas, ωστόσο, η βιβλιοθήκη είναι πολύ πλούσια και δεν υπάρχει όριο σε αυτά που μπορείτε να κάνετε με αυτήν! Ας εφαρμόσουμε τώρα αυτή τη γνώση για την επίλυση ενός συγκεκριμένου προβλήματος.
🚀 Πρόκληση 1: Ανάλυση της Εξάπλωσης του COVID
Το πρώτο πρόβλημα στο οποίο θα επικεντρωθούμε είναι η μοντελοποίηση της εξάπλωσης της επιδημίας του COVID-19. Για να το κάνουμε αυτό, θα χρησιμοποιήσουμε δεδομένα για τον αριθμό των μολυσμένων ατόμων σε διάφορες χώρες, που παρέχονται από το Center for Systems Science and Engineering (CSSE) του Πανεπιστημίου Johns Hopkins. Το σύνολο δεδομένων είναι διαθέσιμο σε αυτό το GitHub Repository.
Επειδή θέλουμε να δείξουμε πώς να χειριζόμαστε δεδομένα, σας προσκαλούμε να ανοίξετε το notebook-covidspread.ipynb
και να το διαβάσετε από την αρχή μέχρι το τέλος. Μπορείτε επίσης να εκτελέσετε τα κελιά και να κάνετε κάποιες προκλήσεις που έχουμε αφήσει για εσάς στο τέλος.
Αν δεν γνωρίζετε πώς να εκτελέσετε κώδικα στο Jupyter Notebook, ρίξτε μια ματιά σε αυτό το άρθρο.
Εργασία με Μη Δομημένα Δεδομένα
Ενώ τα δεδομένα συχνά έρχονται σε ταμπελική μορφή, σε ορισμένες περιπτώσεις πρέπει να χειριστούμε λιγότερο δομημένα δεδομένα, όπως κείμενο ή εικόνες. Σε αυτή την περίπτωση, για να εφαρμόσουμε τεχνικές επεξεργασίας δεδομένων που έχουμε δει παραπάνω, πρέπει με κάποιο τρόπο να εξάγουμε δομημένα δεδομένα. Εδώ είναι μερικά παραδείγματα:
- Εξαγωγή λέξεων-κλειδιών από κείμενο και παρακολούθηση της συχνότητάς τους
- Χρήση νευρωνικών δικτύων για την εξαγωγή πληροφοριών σχετικά με αντικείμενα σε εικόνες
- Απόκτηση πληροφοριών για τα συναισθήματα ανθρώπων από ροές βίντεο
🚀 Πρόκληση 2: Ανάλυση Επιστημονικών Άρθρων για τον COVID
Σε αυτή την πρόκληση, θα συνεχίσουμε με το θέμα της πανδημίας COVID και θα επικεντρωθούμε στην επεξεργασία επιστημονικών άρθρων για το θέμα. Υπάρχει το CORD-19 Dataset με περισσότερα από 7000 (τη στιγμή της συγγραφής) άρθρα για τον COVID, διαθέσιμα με μεταδεδομένα και περιλήψεις (και για περίπου τα μισά από αυτά παρέχεται και το πλήρες κείμενο).
Ένα πλήρες παράδειγμα ανάλυσης αυτού του συνόλου δεδομένων χρησιμοποιώντας την υπηρεσία Text Analytics for Health περιγράφεται σε αυτό το blog post. Θα συζητήσουμε μια απλοποιημένη εκδοχή αυτής της ανάλυσης.
NOTE: Δεν παρέχουμε αντίγραφο του συνόλου δεδομένων ως μέρος αυτού του αποθετηρίου. Ίσως χρειαστεί πρώτα να κατεβάσετε το αρχείο
metadata.csv
από αυτό το σύνολο δεδομένων στο Kaggle. Ενδέχεται να απαιτείται εγγραφή στο Kaggle. Μπορείτε επίσης να κατεβάσετε το σύνολο δεδομένων χωρίς εγγραφή από εδώ, αλλά θα περιλαμβάνει όλα τα πλήρη κείμενα εκτός από το αρχείο μεταδεδομένων.
Ανοίξτε το notebook-papers.ipynb
και διαβάστε το από την αρχή μέχρι το τέλος. Μπορείτε επίσης να εκτελέσετε τα κελιά και να κάνετε κάποιες προκλήσεις που έχουμε αφήσει για εσάς στο τέλος.
Επεξεργασία Δεδομένων Εικόνας
Πρόσφατα, έχουν αναπτυχθεί πολύ ισχυρά μοντέλα AI που μας επιτρέπουν να κατανοούμε εικόνες. Υπάρχουν πολλές εργασίες που μπορούν να λυθούν χρησιμοποιώντας προεκπαιδευμένα νευρωνικά δίκτυα ή υπηρεσίες cloud. Μερικά παραδείγματα περιλαμβάνουν:
- Ταξινόμηση Εικόνων, που μπορεί να σας βοηθήσει να κατηγοριοποιήσετε την εικόνα σε μία από τις προκαθορισμένες κατηγορίες. Μπορείτε εύκολα να εκπαιδεύσετε τους δικούς σας ταξινομητές εικόνων χρησιμοποιώντας υπηρεσίες όπως το Custom Vision
- Ανίχνευση Αντικειμένων για την ανίχνευση διαφορετικών αντικειμένων στην εικόνα. Υπηρεσίες όπως το computer vision μπορούν να ανιχνεύσουν έναν αριθμό κοινών αντικειμένων, και μπορείτε να εκπαιδεύσετε ένα μοντέλο Custom Vision για να ανιχνεύσετε συγκεκριμένα αντικείμενα ενδιαφέροντος.
- Ανίχνευση Προσώπων, συμπεριλαμβανομένης της ηλικίας, του φύλου και της ανίχνευσης συναισθημάτων. Αυτό μπορεί να γίνει μέσω του Face API.
Όλες αυτές οι υπηρεσίες cloud μπορούν να κληθούν χρησιμοποιώντας Python SDKs, και έτσι μπορούν εύκολα να ενσωματωθούν στη ροή εργασίας εξερεύνησης δεδομένων σας.
Εδώ είναι μερικά παραδείγματα εξερεύνησης δεδομένων από πηγές δεδομένων εικόνας:
- Στο blog post Πώς να Μάθετε Data Science Χωρίς Κωδικοποίηση εξερευνούμε φωτογραφίες από το Instagram, προσπαθώντας να κατανοήσουμε τι κάνει τους ανθρώπους να δίνουν περισσότερα likes σε μια φωτογραφία. Πρώτα εξάγουμε όσο το δυνατόν περισσότερες πληροφορίες από τις εικόνες χρησιμοποιώντας το computer vision, και στη συνέχεια χρησιμοποιούμε το Azure Machine Learning AutoML για να δημιουργήσουμε ένα ερμηνεύσιμο μοντέλο.
- Στο Εργαστήριο Μελετών Προσώπων χρησιμοποιούμε το Face API για να εξάγουμε συναισθήματα από ανθρώπους σε φωτογραφίες από εκδηλώσεις, προσπαθώντας να κατανοήσουμε τι κάνει τους ανθρώπους χαρούμενους.
Συμπέρασμα
Είτε έχετε ήδη δομημένα είτε μη δομημένα δεδομένα, χρησιμοποιώντας την Python μπορείτε να εκτελέσετε όλα τα βήματα που σχετίζονται με την επεξεργασία και κατανόηση δεδομένων. Είναι πιθανώς ο πιο ευέλικτος τρόπος επεξεργασίας δεδομένων, και αυτός είναι ο λόγος που η πλειοψηφία των data scientists χρησιμοποιεί την Python ως το κύριο εργαλείο τους. Η εις βάθος εκμάθηση της Python είναι πιθανώς μια καλή ιδέα αν είστε σοβαροί για το ταξίδι σας στη data science!
Κουίζ μετά το μάθημα
Ανασκόπηση & Αυτομελέτη
Βιβλία
Διαδικτυακοί Πόροι
- Επίσημο 10 λεπτά για την Pandas tutorial
- Τεκμηρίωση για την Οπτικοποίηση στην Pandas
Μάθηση Python
- Μάθετε Python με Διασκεδαστικό Τρόπο με Turtle Graphics και Fractals
- Κάντε τα Πρώτα σας Βήματα με την Python Learning Path στο Microsoft Learn
Εργασία
Εκτελέστε πιο λεπτομερή μελέτη δεδομένων για τις παραπάνω προκλήσεις
Ευχαριστίες
Το μάθημα αυτό έχει γραφτεί με ♥️ από τον Dmitry Soshnikov
Αποποίηση Ευθύνης:
Αυτό το έγγραφο έχει μεταφραστεί χρησιμοποιώντας την υπηρεσία αυτόματης μετάφρασης Co-op Translator. Παρόλο που καταβάλλουμε προσπάθειες για ακρίβεια, παρακαλούμε να έχετε υπόψη ότι οι αυτόματες μεταφράσεις ενδέχεται να περιέχουν λάθη ή ανακρίβειες. Το πρωτότυπο έγγραφο στη μητρική του γλώσσα θα πρέπει να θεωρείται η αυθεντική πηγή. Για κρίσιμες πληροφορίες, συνιστάται επαγγελματική ανθρώπινη μετάφραση. Δεν φέρουμε ευθύνη για τυχόν παρεξηγήσεις ή εσφαλμένες ερμηνείες που προκύπτουν από τη χρήση αυτής της μετάφρασης.