You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
Data-Science-For-Beginners/translations/el/2-Working-With-Data/07-python/README.md

37 KiB

Εργασία με Δεδομένα: Python και η Βιβλιοθήκη Pandas

 Σκίτσο από (@sketchthedocs)
Εργασία με Python - Σκίτσο από @nitya

Εισαγωγικό Βίντεο

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

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

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

Τα δεδομένα μπορούν να έχουν πολλές μορφές. Σε αυτό το μάθημα, θα εξετάσουμε τρεις μορφές δεδομένων - πίνακες δεδομένων, κείμενο και εικόνες.

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

Η πιο χρήσιμη συμβουλή. Όταν χρειάζεται να εκτελέσετε μια συγκεκριμένη λειτουργία σε δεδομένα και δεν ξέρετε πώς να το κάνετε, δοκιμάστε να το αναζητήσετε στο διαδίκτυο. Το 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 και να το διαβάσετε από την αρχή μέχρι το τέλος. Μπορείτε επίσης να εκτελέσετε τα κελιά και να κάνετε κάποιες προκλήσεις που έχουμε αφήσει για εσάς στο τέλος.

COVID Spread

Αν δεν γνωρίζετε πώς να εκτελέσετε κώδικα στο Jupyter Notebook, ρίξτε μια ματιά σε αυτό το άρθρο.

Εργασία με Μη Δομημένα Δεδομένα

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

  • Εξαγωγή λέξεων-κλειδιών από κείμενο και παρακολούθηση της συχνότητάς τους
  • Χρήση νευρωνικών δικτύων για την εξαγωγή πληροφοριών σχετικά με αντικείμενα σε εικόνες
  • Απόκτηση πληροφοριών για τα συναισθήματα ανθρώπων από ροές βίντεο

🚀 Πρόκληση 2: Ανάλυση Επιστημονικών Άρθρων για τον COVID

Σε αυτή την πρόκληση, θα συνεχίσουμε με το θέμα της πανδημίας COVID και θα επικεντρωθούμε στην επεξεργασία επιστημονικών άρθρων για το θέμα. Υπάρχει το CORD-19 Dataset με περισσότερα από 7000 (τη στιγμή της συγγραφής) άρθρα για τον COVID, διαθέσιμα με μεταδεδομένα και περιλήψεις (και για περίπου τα μισά από αυτά παρέχεται και το πλήρες κείμενο).

Ένα πλήρες παράδειγμα ανάλυσης αυτού του συνόλου δεδομένων χρησιμοποιώντας την υπηρεσία Text Analytics for Health περιγράφεται σε αυτό το blog post. Θα συζητήσουμε μια απλοποιημένη εκδοχή αυτής της ανάλυσης.

NOTE: Δεν παρέχουμε αντίγραφο του συνόλου δεδομένων ως μέρος αυτού του αποθετηρίου. Ίσως χρειαστεί πρώτα να κατεβάσετε το αρχείο metadata.csv από αυτό το σύνολο δεδομένων στο Kaggle. Ενδέχεται να απαιτείται εγγραφή στο Kaggle. Μπορείτε επίσης να κατεβάσετε το σύνολο δεδομένων χωρίς εγγραφή από εδώ, αλλά θα περιλαμβάνει όλα τα πλήρη κείμενα εκτός από το αρχείο μεταδεδομένων.

Ανοίξτε το notebook-papers.ipynb και διαβάστε το από την αρχή μέχρι το τέλος. Μπορείτε επίσης να εκτελέσετε τα κελιά και να κάνετε κάποιες προκλήσεις που έχουμε αφήσει για εσάς στο τέλος.

Covid Medical Treatment

Επεξεργασία Δεδομένων Εικόνας

Πρόσφατα, έχουν αναπτυχθεί πολύ ισχυρά μοντέλα 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!

Κουίζ μετά το μάθημα

Ανασκόπηση & Αυτομελέτη

Βιβλία

Διαδικτυακοί Πόροι

Μάθηση Python

Εργασία

Εκτελέστε πιο λεπτομερή μελέτη δεδομένων για τις παραπάνω προκλήσεις

Ευχαριστίες

Το μάθημα αυτό έχει γραφτεί με ♥️ από τον Dmitry Soshnikov


Αποποίηση Ευθύνης:
Αυτό το έγγραφο έχει μεταφραστεί χρησιμοποιώντας την υπηρεσία αυτόματης μετάφρασης Co-op Translator. Παρόλο που καταβάλλουμε προσπάθειες για ακρίβεια, παρακαλούμε να έχετε υπόψη ότι οι αυτόματες μεταφράσεις ενδέχεται να περιέχουν λάθη ή ανακρίβειες. Το πρωτότυπο έγγραφο στη μητρική του γλώσσα θα πρέπει να θεωρείται η αυθεντική πηγή. Για κρίσιμες πληροφορίες, συνιστάται επαγγελματική ανθρώπινη μετάφραση. Δεν φέρουμε ευθύνη για τυχόν παρεξηγήσεις ή εσφαλμένες ερμηνείες που προκύπτουν από τη χρήση αυτής της μετάφρασης.